KR102449979B1 - Method and device for controlling system based on vehicle virtual structure - Google Patents
Method and device for controlling system based on vehicle virtual structure Download PDFInfo
- Publication number
- KR102449979B1 KR102449979B1 KR1020200161585A KR20200161585A KR102449979B1 KR 102449979 B1 KR102449979 B1 KR 102449979B1 KR 1020200161585 A KR1020200161585 A KR 1020200161585A KR 20200161585 A KR20200161585 A KR 20200161585A KR 102449979 B1 KR102449979 B1 KR 102449979B1
- Authority
- KR
- South Korea
- Prior art keywords
- container
- vehicle
- upgrade
- containers
- unit
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4406—Loading of operating system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
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)
- Computer Hardware Design (AREA)
- Stored Programmes (AREA)
Abstract
실시예는 복수의 컨테이너를 부팅하는 단계; 상기 복수의 컨테이너의 업그레이드의 필요성을 확인하는 단계; 및 상기 업그레이드의 필요성에 대응하여 상기 복수의 컨테이너에 대한 업그레이드를 수행하는 단계;를 포함하고, 상기 복수의 컨테이너는 시스템 초기화 및 관리를 공유하는 차량 가상화 구조 기반의 제어 방법을 개시한다.Embodiments include booting a plurality of containers; confirming the necessity of upgrading the plurality of containers; and performing an upgrade for the plurality of containers in response to the need for the upgrade, wherein the plurality of containers discloses a vehicle virtualization structure-based control method in which the plurality of containers share system initialization and management.
Description
본 발명은 실시예는 차량 가상화 구조 기반의 시스템 제어 방법 및 장치에 관한 것이다.An embodiment of the present invention relates to a system control method and apparatus based on a vehicle virtualization structure.
차량은 보다 높은 수준의 전산화로 점차 이동하고 있다. 대부분의 차량 작업, 기능 및 작업은 현재 컴퓨터 제어 중이거나 전산 장치로 모니터링될 수 있다. 다시 말해, 디지털 시대가 도래함에 따라 소비자들은 휴대폰과 테블릿 컴퓨터 사이와 유사한 수행을 차량 내에서도 수행할 수 있다. 예컨대, 터치 및 햅틱 피드백, 자연 언어 음성 상호 작용, 근접 감지 및 버튼 및 컨트롤을 갖춘 지능형 사용자 인터페이스가 있는 차량용 인포테인먼트 시스템이 현재 각광받고 있다. 이에, 차량 내의 정보, 통신 내비게이션, 동시에 엔터테인먼트를 간소화하고 운전 사용에 맞게 조정하고 있다. Vehicles are increasingly moving towards higher levels of computerization. Most vehicle tasks, functions and tasks are currently under computer control or can be monitored by computerized devices. In other words, with the advent of the digital age, consumers can perform similar actions between cell phones and tablet computers in the vehicle. For example, in-vehicle infotainment systems with touch and haptic feedback, natural language voice interaction, proximity sensing and intelligent user interfaces with buttons and controls are now in the spotlight. Thus, in-vehicle information, communication navigation, and entertainment at the same time are streamlined and tailored to driving use.
이러한 기술 상황에 맞춰, 차량 내에는 복수의 디스플레이 장치가 존재하며, 디스플레이 장치를 실행하는 소프트웨어도 다수 존재한다. 또한, 차량 에서 사용자 또는 탑승자는 복수의 디스플레이 장치에 사용 자유도가 향상되고 있다.In accordance with this technological situation, a plurality of display devices exist in a vehicle, and a plurality of software for executing the display devices exist. In addition, the degree of freedom for a user or a passenger in a vehicle to use a plurality of display devices is improved.
다만, 차량 내에서 운영체제 간의 업데이트가 어렵고, 웹 플랫폼 컨테이너 사용이 사용자 별 독립적이지 못한 한계가 존재한다.However, there are limitations in that it is difficult to update between operating systems in the vehicle, and the use of web platform containers is not independent for each user.
나아가, 차량 내에서 사용자 간 음향이 섞여 주행의 위험도가 증가해지는 문제점이 있다.Furthermore, there is a problem in that the risk of driving is increased by mixing sounds between users in the vehicle.
실시예는 디스크 자원 절약이 가능한 차량 가상화 구조 기반의 시스템 제어 방법 및 장치를 제공할 수 있다.The embodiment may provide a system control method and apparatus based on a vehicle virtualization structure capable of saving disk resources.
또한, 구동 속도가 개선된 차량 가상화 구조 기반의 시스템 제어 방법 및 장치를 제공할 수 있다.In addition, it is possible to provide a system control method and apparatus based on a vehicle virtualization structure having improved driving speed.
또한, 차량 내 사용자 맞춤형 차량 가상화 구조 기반의 시스템 제어 방법 및 장치를 제공할 수 있다.In addition, it is possible to provide a system control method and apparatus based on a user-customized vehicle virtualization structure in the vehicle.
또한, 차량 내 사용자 별 웹 어플리케이션을 용이하게 사용하는 차량 가상화 구조 기반의 시스템 제어 방법 및 장치를 제공할 수 있다.In addition, it is possible to provide a system control method and apparatus based on a vehicle virtualization structure that easily use a web application for each user in the vehicle.
또한, 주행 방해가 제거된 차량 내 음향 처리가 이루어지는 차량 가상화 구조 기반의 시스템 제어 방법 및 장치를 제공할 수 있다.In addition, it is possible to provide a system control method and apparatus based on a vehicle virtualization structure in which the in-vehicle sound processing from which the driving obstruction is removed is performed.
실시예에서 해결하고자 하는 과제는 이에 한정되는 것은 아니며, 아래에서 설명하는 과제의 해결수단이나 실시 형태로부터 파악될 수 있는 목적이나 효과도 포함될 수 있다고 할 것이다.The problem to be solved in the embodiment is not limited thereto, and it will be said that the purpose or effect that can be grasped from the solving means or embodiment of the problem described below may also be included.
실시예에 따른 차량 가상화 구조 기반의 제어 방법은 복수의 컨테이너를 부팅하는 단계; 상기 복수의 컨테이너의 업그레이드의 필요성을 확인하는 단계; 및 상기 업그레이드의 필요성에 대응하여 상기 복수의 컨테이너에 대한 업그레이드를 수행하는 단계;를 포함하고, 상기 복수의 컨테이너는 시스템 초기화 및 관리를 공유한다.A vehicle virtualization structure-based control method according to an embodiment includes booting a plurality of containers; confirming the necessity of upgrading the plurality of containers; and performing an upgrade for the plurality of containers in response to the need for the upgrade, wherein the plurality of containers share system initialization and management.
상기 복수의 컨테이너의 업그레이드의 필요성을 확인하는 단계는, 업그레이드 정보를 수신하는 단계; 상기 업그레이드 정보와 상기 복수의 컨테이너의 업그레이드를 비교하는 단계; 및 상기 업그레이드의 필요성을 결정하는 단계;를 포함할 수 있다.The confirming of the necessity of upgrading the plurality of containers may include: receiving upgrade information; comparing the upgrade information with the upgrades of the plurality of containers; and determining the need for the upgrade.
상기 업그레이드의 필요성이 없는 경우에 상기 복수의 컨테이너를 구동하는 단계;를 더 포함할 수 있다.The method may further include; driving the plurality of containers when there is no need for the upgrade.
상기 업그레이드의 필요성이 존재하는 경우에 시스템 디렉터리에 대한 업그레이드 또는 사용자 데이터(personal data)에 대한 업그레이드인지 판단하는 단계;를 더 포함할 수 있다.The method may further include a step of determining whether the upgrade is an upgrade for a system directory or an upgrade for user data (personal data) when there is a need for the upgrade.
상기 시스템 디렉터리에 대한 업그레이드인 경우, 업그레이드인지 판단하는 단계 이후에, 사용자 인증을 수행하는 단계; 및 상기 시스템 디렉터리를 수신하는 단계;를 더 포함할 수 있다.If the system directory is upgraded, performing user authentication after determining whether it is an upgrade; and receiving the system directory.
상기 복수의 컨테이너를 재부팅하는 단계;를 더 포함하고, 상기 업그레이드의 필요성을 확인하는 단계로 돌아갈 수 있다.Rebooting the plurality of containers may further include, and return to the step of confirming the need for the upgrade.
상기 사용자 데이터에 대한 업그레이드인 경우 업그레이드인지 판단하는 단계 이후에, 최신의 사용자 데이터를 수신하는 단계; 및 상기 복수의 컨테이너를 구동하는 단계;를 더 포함할 수 있다.receiving the latest user data after determining whether the user data is an upgrade in the case of an upgrade of the user data; and driving the plurality of containers.
상기 복수의 컨테이너를 구동하는 단계 이후에, 상기 컨테이너와 연결된 디스플레이로 어플리케이션을 실행하는 단계;를 더 포함할 수 있다.The method may further include, after the step of driving the plurality of containers, the step of executing an application on a display connected to the container.
상기 복수의 컨테이너를 구동하는 단계에서, 상기 사용자 데이터 중 변경 디렉토리 카피하여 상기 복수의 컨테이너를 구동할 수 있다.In the driving of the plurality of containers, the plurality of containers may be driven by copying a change directory among the user data.
상기 공유된 시스템 초기화 및 관리는 커널(kernel), 디스트로(distro) 및 라이브러리(library)를 포함할 수 있다.The shared system initialization and management may include a kernel, a distro, and a library.
나아가, 실시예에 따른 차량 가상화 구조 기반의 제어 방법은 상술한 업데이트 등 이후에 컨테이너를 구동함에 있어서, 사용자를 인식하는 단계; 인식된 사용자가 기등록된 사용자인지 확인하는 단계;를 포함한다.Furthermore, the vehicle virtualization structure-based control method according to an embodiment includes: recognizing a user in driving a container after the above-described update and the like; and confirming whether the recognized user is a pre-registered user.
인식된 사용자가 상기 기등록된 사용자가 아닌 경우 등록 진행하는 단계;를 더 포함할 수 있다. If the recognized user is not the previously registered user, the step of performing registration; may further include.
인식된 사용자가 상기 기등록된 사용자인 경우 차량 환경을 설정하는 단계; 웹 계정의 등록 여부 확인하는 단계;를 더 포함할 수 있다.setting a vehicle environment when the recognized user is the previously registered user; It may further include; checking whether the web account is registered.
상기 웹 계정의 등록이 없는 경우 웹 계정 등록하는 단계;를 더 포함할 수 있다.It may further include; registering a web account when there is no registration of the web account.
상기 웹 계정의 등록이 있는 경우 상기 웹 계정이 다른 웹 플랫폼 컨테이너에 로그인된 상황인지 판단하는 단계;를 더 포함할 수 있다.The method may further include; if there is registration of the web account, determining whether the web account is logged in to another web platform container.
상기 웹 계정이 다른 웹 플랫폼 컨테이너에 로그인된 경우, 종료 또는 재로그인을 출력하는 단계;를 더 포함할 수 있다.The method may further include outputting termination or re-login when the web account is logged in to another web platform container.
상기 웹 계정이 다른 웹 플랫폼 컨테이너에 로그인되지 않은 경우 선호 어플리케이션 추출하는 단계; ;를 더 포함할 수 있다.extracting a preferred application when the web account is not logged into another web platform container; ; may be further included.
네비게이션 구동하여 즐겨 찾는 목적지 표시하는 단계;를 더 포함할 수 있다.Displaying a favorite destination by driving the navigation; may further include.
실시예에 따르면, 디스크 자원 절약이 가능한 차량 가상화 구조 기반의 시스템 제어 방법 및 장치를 구현할 수 있다.According to the embodiment, a system control method and apparatus based on a vehicle virtualization structure capable of saving disk resources may be implemented.
또한, 구동 속도가 개선된 차량 가상화 구조 기반의 시스템 제어 방법 및 장치를 구현할 수 있다.In addition, it is possible to implement a system control method and apparatus based on a vehicle virtualization structure with improved driving speed.
또한, 차량 내 사용자 맞춤형 차량 가상화 구조 기반의 시스템 제어 방법 및 장치를 구현할 수 있다.In addition, it is possible to implement a system control method and apparatus based on a user-customized vehicle virtualization structure in the vehicle.
또한, 차량 내 사용자 별 웹 어플리케이션을 용이하게 사용하는 차량 가상화 구조 기반의 시스템 제어 방법 및 장치를 구현할 수 있다.In addition, it is possible to implement a system control method and apparatus based on a vehicle virtualization structure that easily use a web application for each user in the vehicle.
또한, 주행 방해가 제거된 차량 내 음향 처리가 이루어지는 차량 가상화 구조 기반의 시스템 제어 방법 및 장치를 구현할 수 있다.In addition, it is possible to implement a system control method and apparatus based on a vehicle virtualization structure in which the in-vehicle sound processing from which the driving obstruction is removed is performed.
본 발명의 다양하면서도 유익한 장점과 효과는 상술한 내용에 한정되지 않으며, 본 발명의 구체적인 실시형태를 설명하는 과정에서 보다 쉽게 이해될 수 있을 것이다.Various and advantageous advantages and effects of the present invention are not limited to the above, and will be more easily understood in the course of describing specific embodiments of the present invention.
도 1은 실시예에 따른 차량 가상화 구조 기반의 시스템의 개념도이고,
도 2는 실시예에 따른 차량 가상화 구조 기반의 시스템의 구체적인 블록도이고,
도 3은 실시예에 따른 차량 가상화 구조 기반의 시스템 제어 방법에 대한 순서도이고,
도 4는 실시예에 따른 차량 가상화 구조 기반의 시스템 제어 방법에서 업그레이드의 필요성 확인에 대한 구체적인 순서도이고,
도 5는 실시예에 따른 차량 가상화 구조 기반의 시스템 제어 방법에 대한 구체적인 순서도이고,
도 6은 실시예에 따른 차량 가상화 구조 기반의 시스템에서 복수의 컨테이너의 구조에 대한 개념도이고,
도 7 및 도 8은 실시예에 따른 차량 가상화 구조 기반의 시스템에서 복수의 컨테이너를 구동을 설명하는 도면이고,
도 9는 도 2에서 K부분의 확대도이고,
도 10은 실시예에 따른 차량 가상화 구조 기반의 시스템에서 웹 플랫폼 제어 방법에 대한 순서도이고,
도 11은 실시예에 따른 차량 가상화 구조 기반의 시스템에서 웹 플랫폼 제어 방법에서 웹 어플리케이션의 구동을 도시한 도면이고,
도 12는 다른 실시예에 따른 차량 가상화 구조 기반의 시스템의 개념도이고,
도 13은 실시예에 따른 차량 가상화 구조 기반의 시스템에서 디스플레이 장치를 설명하는 도면이고,
도 14는 실시예에 따른 차량 가상화 구조 기반의 사운드 제어 장치의 블록도이고,
도 15는 실시예에 따른 차량 가상화 구조 기반의 사운드 제어 방법의 순서도이고,
도 16은 실시예에 따른 차량 가상화 구조 기반의 사운드 제어 방법의 구체화된 순서도이고,
도 17은 일예에 대한 제1 사운드 출력정보 및 제2 사운드 출력정보의 출력을 설명하는 도면이고,
도 18은 다른예에 대한 제1 사운드 출력정보 및 제2 사운드 출력정보의 출력을 설명하는 도면이고,
도 19는 또 다른예에 대한 제1 사운드 출력정보 및 제2 사운드 출력정보의 출력을 설명하는 도면이고,
도 20은 변형예에 따른 차량 가상화 구조 기반의 시스템의 개념도이다.1 is a conceptual diagram of a system based on a vehicle virtualization structure according to an embodiment;
2 is a detailed block diagram of a system based on a vehicle virtualization structure according to an embodiment;
3 is a flowchart of a system control method based on a vehicle virtualization structure according to an embodiment;
4 is a detailed flowchart for confirming the need for upgrade in a system control method based on a vehicle virtualization structure according to an embodiment;
5 is a detailed flowchart of a system control method based on a vehicle virtualization structure according to an embodiment;
6 is a conceptual diagram of a structure of a plurality of containers in a system based on a vehicle virtualization structure according to an embodiment;
7 and 8 are diagrams illustrating driving a plurality of containers in a system based on a vehicle virtualization structure according to an embodiment;
9 is an enlarged view of part K in FIG. 2,
10 is a flowchart of a method for controlling a web platform in a system based on a vehicle virtualization structure according to an embodiment;
11 is a diagram illustrating driving of a web application in a method for controlling a web platform in a system based on a vehicle virtualization structure according to an embodiment;
12 is a conceptual diagram of a system based on a vehicle virtualization structure according to another embodiment;
13 is a view for explaining a display device in a system based on a vehicle virtualization structure according to an embodiment;
14 is a block diagram of a sound control device based on a vehicle virtualization structure according to an embodiment;
15 is a flowchart of a sound control method based on a vehicle virtualization structure according to an embodiment;
16 is a detailed flowchart of a sound control method based on a vehicle virtualization structure according to an embodiment;
17 is a view for explaining the output of the first sound output information and the second sound output information for an example,
18 is a view for explaining the output of the first sound output information and the second sound output information for another example,
19 is a view for explaining the output of the first sound output information and the second sound output information for another example,
20 is a conceptual diagram of a system based on a vehicle virtualization structure according to a modified example.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. Since the present invention can have various changes and can have various embodiments, specific embodiments are illustrated and described in the drawings. However, this is not intended to limit the present invention to specific embodiments, and should be understood to include all modifications, equivalents and substitutes included in the spirit and scope of the present invention.
제2, 제1 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 구성요소들은 용어들에 의해 한정되지는 않는다. 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제2 구성요소는 제1 구성요소로 명명될 수 있고, 유사하게 제1 구성요소도 제2 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다. Terms including an ordinal number such as second, first, etc. may be used to describe various elements, but the elements are not limited by the terms. The terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, the second component may be referred to as the first component, and similarly, the first component may also be referred to as the second component. and/or includes a combination of a plurality of related listed items or any of a plurality of related listed items.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.When a component is referred to as being “connected” or “connected” to another component, it may be directly connected or connected to the other component, but it is understood that other components may exist in between. it should be On the other hand, when it is said that a certain element is "directly connected" or "directly connected" to another element, it should be understood that the other element does not exist in the middle.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terms used in the present application are only used to describe specific embodiments, and are not intended to limit the present invention. The singular expression includes the plural expression unless the context clearly dictates otherwise. In the present application, terms such as “comprise” or “have” are intended to designate that a feature, number, step, operation, component, part, or combination thereof described in the specification exists, but one or more other features It is to be understood that this does not preclude the possibility of the presence or addition of numbers, steps, operations, components, parts, or combinations thereof.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. Terms such as those defined in a commonly used dictionary should be interpreted as having a meaning consistent with the meaning in the context of the related art, and should not be interpreted in an ideal or excessively formal meaning unless explicitly defined in the present application. does not
이하, 첨부된 도면을 참조하여 실시예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 대응하는 구성 요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.Hereinafter, the embodiment will be described in detail with reference to the accompanying drawings, but the same or corresponding components are given the same reference numerals regardless of the reference numerals, and the overlapping description thereof will be omitted.
본 개시의 실시예는 차량, 차량 인포테인먼트 등을 위한 차량 스트리밍 제어 장치 및 제어 방법에 관한 것으로, 애플리케이션(동일한 의미로 '앱', '어플리케이션', application) 등을 차량에서 이용함에 있어서, 차량 인포테인먼트와 접목한 시스템 환경을 제공하는 것을 내용으로 한다. 다만, 이러한 내용이 본 특허의 권리를 한정하는 것은 아니다.An embodiment of the present disclosure relates to a vehicle streaming control apparatus and control method for a vehicle, vehicle infotainment, etc. In using an application ('app', 'application', application in the same sense) in a vehicle, the vehicle infotainment and The content is to provide an integrated system environment. However, these contents do not limit the rights of this patent.
보다 상세히 서술하면, 차량용 시스템의 경우 차량용 인포테인먼트 기능을 제공하는 것과 동시에 차량의 제어에 관련된 중요한 기능을 수행하고 있다. 여기서 차량의 제어에 관련된 기능이라 함은 사용자의 차량 조작에 영향을 주는 네 비게이션 시스템 등을 포함하는 애플리케이션부터 차량의 속도나 RPM 등을 표시하는 계기 판을 뜻하는 클러스터 시스템, 자율제어 차량의 자율제어 시스템과 같이 탑승자의 생명에 관련된 중요한 기능까지도 포함한다. 그리고 이러한 애플리케이션의 디스플레이는 자유롭게 이루어지되, 차량 제어 등 주행에 방해가 발생하면 안된다. 즉, 차량 주행에 대한 보호는 필수적으로 지켜져야 한다. 이러한 보호가 이루어지지 않을 경우, 사고가 발생할 수도 있다. 따라서, 본 발명의 바람직한 실시예에서는 주행을 방해하지 않는 범위 내에서 차량 내의 스트리밍이 수행되어, 오디오 재생, 비디오 재생, 게임 실행 등과 같이 엔터테인먼트에 관련된 서비스, 애플리케이션이 운전자를 포함한 차량의 탑승자에 대한 접근 및 조작이 용이하게 이루어질 수 있다.More specifically, in the case of a vehicle system, an important function related to vehicle control is performed while providing a vehicle infotainment function. Here, the functions related to vehicle control include applications including navigation systems that affect the user's vehicle operation, cluster systems that indicate vehicle speed or RPM, etc. It also includes important functions related to the life of the occupants, such as control systems. In addition, the display of these applications should be done freely, but should not interfere with driving such as vehicle control. In other words, the protection of vehicle driving must be kept essential. If this protection is not provided, accidents may occur. Accordingly, in a preferred embodiment of the present invention, streaming in the vehicle is performed within a range that does not interfere with driving, so that services and applications related to entertainment, such as audio reproduction, video reproduction, and game execution, access to the vehicle's occupants, including the driver. and operation can be made easily.
도 1은 실시예에 따른 차량 가상화 구조 기반의 시스템의 개념도이고, 도 2는 실시예에 따른 차량 가상화 구조 기반의 시스템의 구체적인 블록도이다.1 is a conceptual diagram of a system based on a vehicle virtualization structure according to an embodiment, and FIG. 2 is a detailed block diagram of a system based on a vehicle virtualization structure according to an embodiment.
도 1 및 도 2를 참조하면, 실시예에 따른 차량 가상화 구조 기반의 시스템은 하드웨어(미도시됨), 하드웨어(미도시됨) 상에 탑재된 베이스 운영 체제(10), 베이스 운영 체제(10) 상에 탑재된 제1 가상엔진(20a)과 제2 가상엔진(20b), 각 가상엔진 상에 탑재되는 적어도 하나의 운영체제(30a 내지 30f), 적어도 하나의 운영체제(30a 내지 30f) 상에 탑재되고 미들웨어 및 중요 애플리케이션이 포함된 소프트웨어 집합으로 복수의 운영체제 플랫폼(40a 내지 40f), 운영체제 플랫폼(40a 내지 40f)에서 구동되는 복수의 애플리케이션(50a 내지 50d), 복수의 운영체제 플랫폼(40a 내지 40f) 또는 복수의 애플리케이션 등을 출력하는 복수의 디스플레이(60a 내지 60f) 및 가상엔진(20a 내지 20b) 상에서 복수의 운영체제(30a 내지 30d)에 대한 환경을 관리하는 컨테이너 관리부(CM)를 포함할 수 있다. 적어도 하나의 운영체제는 이하 '컨테이너(container)'로 설명한다.1 and 2 , a system based on a vehicle virtualization structure according to an embodiment includes hardware (not shown), a
여기서, 하드웨어(미도시됨)는 프로세서, 표시부, 저장부, 메모리부, 컨트롤부, I/O 장치를 포함하는 개념일 수 있다.Here, hardware (not shown) may be a concept including a processor, a display unit, a storage unit, a memory unit, a control unit, and an I/O device.
실시예에서, 주행부(CP)는 제1 가상엔진(20a) 상에서 탑재 또는 구동되는 시스템 영역이고, 인포테인먼트부(IP, Infotainment Platform)는 제1 가상엔진(20a)과 이종의 가상엔진인 제2 가상엔진(20b) 상에서 탑재 또는 구동되는 시스템 영역일 수 있다. 이러한 구성에 의하여, 인포테인먼트부(IP) 내에서 업그레이드 또는 기타 오작동이 발생하더라도, 주행부(CP)는 이에 대한 영향을 받지 않을 수 있다. 즉, 주행 중 영향이 최소화될 수 있다. 나아가, 인포테인먼트부(IP) 이외에 웹 플랫폼부(Web Platform)이 베이스 운영 체제(10) 및 추가 가상 엔진(20) 상에서 탑재 또는 구동될 수 잇다. 인포테인먼트부(IP)와 마찬가지로 플랫폼부(Web Platform)는 컨테이너 관리자를 인포테인먼트부(IP)와 공유할 수 있다. 또는 플랫폼부(Web Platform)는 인포테인먼트부(IP)의 일부로 구성될 수 있다. 이하에서는 개별적인 구성으로 설명한다.In the embodiment, the driving unit CP is a system area mounted or driven on the first
플랫폼부(Web Platform)는 인포테인먼트부(IP)와 같이 컨테이너 관리부에 탑재된 하나의 운영체제(예로, 컨테이너, 30), 운영체제 상에 탑재되고 미들웨어 및 중요 애플리케이션이 포함된 소프트웨어 집합으로 복수의 운영체제 플랫폼(예로, AGL, 40), 운영체제 플랫폼(40)에서 구동되는 복수의 애플리케이션(예로, 웹어플리케이션, 50)을 포함할 수 있다.The platform unit (Web Platform) is a set of software installed on one operating system (eg, container, 30), the operating system mounted on the container management unit, such as the infotainment unit (IP), and including middleware and important applications, and a plurality of operating system platforms ( For example, the
먼저, 베이스 운영 체제(10)는 예를 들어 다양한 운영체제일 수 있다. 예컨대, 베이스 운영 체제(10)는 리눅스(linux), 하이퍼바이저(hypervisor), QNX, GENIVI 등을 포함할 수 있다.First, the
예를 들어, 제1 가상엔진(20a)과 제2 가상엔진(20b)은 미들웨어 솔루션 또는 다양한 플랫폼으로서, 모바일 C 언어로 개발될 수 있다. 제1 가상엔진(20a)과 제2 가상엔진(20b)은 다수의 내장 라이브러리를 제공할 수 있으며, 다양한 이동 단말기 등에서 동일한 동작을 수행할 수도 있다. 예컨대, 제1 가상엔진(20a)과 제2 가상엔진(20b)은 리눅스 기반의 안드로이드 커널일 수 있으며, 메모리 보호, 가상 메모리 모듈 및 스케줄 캐싱을 초기화할 수도 있다.For example, the first
또한, 적어도 하나의 컨테이너(30a 내지 30d)는 제2 가상엔진(20a) 상에 탑재되고 제1 가상엔진(10a) 상에 탑재되지 않을 수 있다. 이에, 주행부(CP)에 대한 보안성이 향상되므로, 주행 안정성도 개선될 수 있다.Also, the at least one
적어도 하나의 컨테이너(30a 내지 30d)는 실시예로 가상화 방식의 일 형태로서 프로세스 가상화의 일정일 수 있다. 예컨대, 컨테이너를 이용한 가상화 기술은 호스트 OS(operating system) 내부를 물리적 자원을 관리하는 커널 공간과 사용자 프로세스, 즉 응용 프로그램(어플레케이션, application, APP)을 실행하는 사용자 공간으로 구분하고 사용자 공간을 여러 개로 나누어 각각의 사용자 프로세스에서 사용되는 하드웨어 자원을 할당하고 공유하는 기술을 의미할 수 있다. 예컨대, 컨테이너(30a 내지 30d)는 호출된 라이브러리를 시스템 라이브러리와 인터페이스되도록 변환하여, 베이스 운영체제와 복수의 운영체제 플랫폼 간의 연결 또는 호환을 수행할 수 있다.At least one
복수의 운영체제 플랫폼(40a 내지 40f)은 컨테이너 상에 탑재될 수 있다. 복수의 운영체제 플랫폼(40a 내지 40f)는 안드로이드, AGL(Automotive Grade Linux), 웹 (web)플랫폼, 클러스터(cluster) 플랫폼, 헤드업 디스플레이(HUD) 플랫폼 등을 포함할 수 있다.The plurality of
적어도 하나의 애플리케이션(50a 내지 50d)은 시스템 프로그램을 제외한 응용 프로그램으로써, 차량 내에서는 AVN(Audio Video Navigation), 코-드라이버(Co-Driver), RSE(Rear Seat Entertainment) 등을 포함할 수 있다. The at least one
복수의 디스플레이(60a 내지 60f)는 운영체제 플랫폼(40a 내지 40f) 또는 플랫폼 상의 응용 프로그램 등을 사용자(예로, 탑승자)에게 표시할 수 있다. 예컨대, 복수의 디스플레이(60a 내지 60f)는 다양한 표시 장치(예로, OLED)를 포함할 수 있다.The plurality of
컨테이너 관리부(CM)는 가상엔진(20a 내지 20b) 상에서 복수의 운영체제(30a 내지 30d)에 대한 환경을 관리할 수 있다. 즉, 컨테이너 관리부(CM)는 복수의 운영체제(30a 내지 30d) 예로, 컨테이너에 대한 자원 할당, 스트리밍 연결, 업데이트, 디스플레이 출력 담당, 출력부와 연결 등을 수행할 수 있다. 이에 대한 자세한 설명은 후술한다.The container manager CM may manage environments for the plurality of
구체적으로, 컨테이너 관리부(CM)는 컨테이너 제어부(CM1), 컨테이너 업그레이드부(CM2), 컨테이너 상태관리부(CM3), 웹 플랫폼 컨테이너 관리부(CM4), 컨테이너 브리지부(CM5)를 포함할 수 있다.Specifically, the container management unit CM may include a container control unit CM1 , a container upgrade unit CM2 , a container state management unit CM3 , a web platform container management unit CM4 , and a container bridge unit CM5 .
컨테이너 제어부(CM1)는 컨테이너에 할당되는 시스템 자원, 자원 정책, 스트리밍 제어 관련, 디스플레이로 출력 관련, 파일 시스템 관리 등을 수행할 수 있다.The container control unit CM1 may perform system resources allocated to containers, resource policies, streaming control related, output related to display, file system management, and the like.
이러한 컨테이너 제어부(CM1)는 컨테이너 리소스 관리부(M1-1), 디스플레이 제어부(M1-2), 컨테이너 정책 관리부(M1-3), 컨테이너 파일 시스템 관리부(M1-4), 컨테이너 스트리밍 관리부(M1-5) 및 오디오 정책 및 제어 관리부(M1-6)를 포함할 수 있다.The container control unit CM1 includes a container resource management unit M1-1, a display control unit M1-2, a container policy management unit M1-3, a container file system management unit M1-4, and a container streaming management unit M1-5. ) and an audio policy and control management unit M1-6.
컨테이너 리소스 관리부(M1-1)는 컨테이너에 할당되는 시스템 자원을 동적으로 할당할 수 있다. 예컨대, 컨테이너 리소스 관리부(M1-1)는 자원 사용량을 수집하여 자원 부족으로 인한 QoS 성능저하를 예방할 수 있다. 예를 들어, 컨테이너 리소스 관리부(M1-1)는 기설정된 컨테이너의 우선순위, 자원사용량 임계값 및 모니터링 감시 주기를 이용하여 전용코어에 할당되는 컨테이너를 설정할 수 있다.The container resource management unit M1-1 may dynamically allocate system resources allocated to containers. For example, the container resource management unit M1-1 may collect resource usage to prevent QoS performance degradation due to resource shortage. For example, the container resource management unit M1-1 may set a container to be allocated to a dedicated core by using a preset container priority, a resource usage threshold, and a monitoring and monitoring period.
컨테이너 정책 관리부(M1-3)는 상술한 컨테이너 중 전용코어에 할당되는 우선순위에 대한 정보를 포함할 수 있다.The container policy management unit M1-3 may include information on priorities allocated to dedicated cores among the aforementioned containers.
디스플레이 제어부(M1-2)는 복수의 디스플레이 각각의 동작을 담당하는 컨테이너 들이 차량 내의 각 디스플레이에 화면을 출력하도록 관리할 수 있다.The display control unit M1 - 2 may manage the containers responsible for the operation of each of the plurality of displays to output a screen to each display in the vehicle.
컨테이너 파일 시스템 관리부(M1-4)는 복수의 컨테이너 환경에서 각 컨테이너의 동작에 필요한 파일들을 체계적이고 효율적으로 관리할 수 있다. 예컨대, 컨테이너 파일 시스템 관리부(M1-4)는 후술하는 바와 같이 어느 하나의 파일 시스템 예로 컨테이너의 파일 시스템을 다른 하나의 컨테이너 파일 시스템으로 오버레이할 수 있다. 이에, 사용자(복수의 탑승자)는 컨테이너와 같은 파일 시스템을 다른 사용자 또는 다른 위치(예로, 좌석)에서 용이하게 공유할 수 있다.The container file system manager M1-4 may systematically and efficiently manage files necessary for the operation of each container in a plurality of container environments. For example, the container file system manager M1-4 may overlay a file system of a container with another container file system, for example, as any one file system, as will be described later. Accordingly, a user (a plurality of passengers) can easily share a file system such as a container with other users or other locations (eg, seats).
즉, 실시예에 따른 차량 가상화 구조 기반의 시스템에서 복수의 컨테이너는 시스템 초기화 및 관리를 공유할 수 있다. 예를 들어, 실시예에 따른 차량 가상화 구조 기반의 시스템에서 복수의 컨테이너는 rootfs를 공유할 수 있다. 그리고 각 운영체제 즉 컨테이너는 별도 변경 디렉토리를 저장 또는 복사(카피)하여 디스크 등의 자원이 효율적으로 이용될 수 있다. 나아가, 각 컨테이너 별 업그레이드도 변경 디렉토리만을 이용하여 수행될 수 있다. 예를 들어, 각 디스플레이 장치가 효과적으로 업그레이드될 수 있다.That is, in the system based on the vehicle virtualization structure according to the embodiment, a plurality of containers may share system initialization and management. For example, in the system based on the vehicle virtualization structure according to the embodiment, a plurality of containers may share rootfs. In addition, each operating system, that is, the container stores or copies (copy) a separate change directory, so that resources such as disks can be efficiently used. Furthermore, the upgrade for each container may also be performed using only the change directory. For example, each display device can be effectively upgraded.
컨테이너 스트리밍 관리부(M1-5)는 각 디스플레이에서 출력되는 영상의 이동 등을 관리할 수 있다. 즉, 컨테이너 스트리밍 관리부(M105)는 주행부와 인포테인먼트부 나아가, 디스플레이 각각의 정책에 따라 스트리밍 가능 여부를 판단할 수 있다.The container streaming management unit M1-5 may manage the movement of images output from each display, and the like. That is, the container streaming management unit M105 may determine whether streaming is possible according to each policy of the driving unit, the infotainment unit, and the display.
오디오 정책 및 제어 관리부(M1-6)는 적어도 하나의 컨테이너 간의 오디오 출력에 대한 정책을 반영하여 오디오 출력을 제어할 수 있다. 이에 대한 자세한 설명은 후술한다.The audio policy and control manager M1-6 may control audio output by reflecting a policy on audio output between at least one container. A detailed description thereof will be given later.
컨테이너 업그레이드부(CM2)는 복수의 운영체제로 이루어진 인포테인먼트부의 각 운영체제 별로 업그레이드를 수행할 수 있다. 예컨대, 컨테이너 업그레이드부(CM2)는 컨테이너로 구성된 인포테인먼트부의 각 컨테이너를 용이하게 업그레이드할 수 있다.The container upgrade unit CM2 may perform an upgrade for each operating system of the infotainment unit including a plurality of operating systems. For example, the container upgrade unit CM2 may easily upgrade each container of the infotainment unit composed of containers.
컨테이너 업그레이드부(CM2)는 업데이트 및 확인 관리부(M2-1) 및 인증 관리부(M2-2)를 포함할 수 있다.The container upgrade unit CM2 may include an update and confirmation management unit M2-1 and an authentication management unit M2-2.
업데이트 및 확인 관리부(M2-1)는 복수의 컨테이너 중 업데이트가 필요한 컨테이너를 위한 컨테이너 별 식별자 및 업데이트 후 정상 동작 확인을 수행할 수 있다. The update and check management unit M2-1 may check an identifier for each container for a container requiring an update among a plurality of containers and a normal operation check after the update.
인증 관리부(M2-2)는 업데이트를 수행하기 위해 차량 및 컨테이너 별 인증, 버전 비교를 수행할 수 있다.The authentication management unit M2-2 may perform authentication and version comparison for each vehicle and container in order to perform the update.
컨테이너 상태관리부(CM3)는 컨테이너의 정상 동작 여부에 대한 확인 등 복수의 컨테이너 상태를 관리할 수 있다.The container state management unit CM3 may manage the states of a plurality of containers, such as checking whether the container operates normally.
컨테이너 상태관리부(CM3)는 상태 관리부(M3-1), 로그 관리부(M3-2)를 포함할 수 있다.The container state management unit CM3 may include a state management unit M3-1 and a log management unit M3-2.
상태 관리부(M3-1)는 주기적인 모니터링을 통해 컨테이너 및 컨테이너 관리부의 기능이 정상 동작하는지 확인할 수 있다.The state management unit M3 - 1 may check whether the container and functions of the container management unit operate normally through periodic monitoring.
로그 관리부(M3-2)는 컨테이너 상태관리부를 통해 확인된 내용을 로그를 보관할 수 있다. 나아가, 로그 관리부(M3-2)는 소정의 시간 후에 로그를 삭제하거나 백업 처리할 수 있다. 나아가, 컨테이너가 비정상 동작하는 경우 로그 관리부(M3-2)를 통해 상태 관리부(M3-1)가 해당 문제를 용이하게 해결할 수 있다.The log management unit M3-2 may keep a log of the contents checked through the container state management unit. Furthermore, the log management unit M3-2 may delete or backup the log after a predetermined time. Furthermore, when the container operates abnormally, the state management unit M3-1 can easily solve the problem through the log management unit M3-2.
웹 플랫폼 컨테이너 관리부(CM4)는 웹 플랫폼 컨테이너에 대한 관리를 수행할 수 있으며, 웹 플랫폼 관리부(M4-1), 웹 계정 관리부(M4-2)를 포함할 수 있다. The web platform container management unit CM4 may manage the web platform container, and may include a web platform management unit M4-1 and a web account management unit M4-2.
웹 플랫폼 관리부(M4-1)는 웹 플랫폼의 다양한 기능이 운영체제 즉, 컨테이너 상에서 정상 동작하는지 관리할 수 있다. 그리고 웹 플랫폼 관리부(M4-1)는 복수의 웹 플랫폼 컨테이너가 동작하는 경우 각 컨테이너 별로 로그인 계정을 관리하여 개인화된 웹 이용 환경을 관리할 수 있다. 이에 대한 자세한 설명은 후술한다.The web platform management unit M4-1 may manage whether various functions of the web platform operate normally on the operating system, that is, the container. In addition, when a plurality of web platform containers are operated, the web platform management unit M4-1 may manage a login account for each container to manage a personalized web use environment. A detailed description thereof will be given later.
나아가, 컨테이너 브리지부(CM5)는 인터페이스, 하드웨어 등과 연결되어 디스플레이, 오디오, 어플리케이션, 네트워크 등에 대한 각 운영체제 간의 상호 연결을 수행할 수 있다.Furthermore, the container bridge unit CM5 may be connected to an interface, hardware, etc. to perform interconnection between respective operating systems for display, audio, application, network, and the like.
그리고 도면에 기재된 각 요소는 예시이며, 이하에서는 이를 기준으로 설명한다.And each element described in the drawings is an example, and will be described below based on this.
또한, 사용자(예로, 탑승자)는 사용자 인터페이스 등을 통해 차량 가상화 구조 기반의 시스템을 조작할 수 있다. 그리고 조작 과정 또는 결과가 디스플레이, 오디오 등의 출력 장치를 통해 사용자에게 제공될 수 있다. 또한, 사용자가 디스플레이 터치를 조작하는 등의 입력을 통해, 이에 대한 피드백이 이루어질 수 있다.In addition, a user (eg, an occupant) may operate a vehicle virtualization structure-based system through a user interface or the like. In addition, the manipulation process or result may be provided to the user through an output device such as a display or audio. In addition, the feedback may be provided through an input such as a user manipulating a touch on the display.
도 3은 실시예에 따른 차량 가상화 구조 기반의 시스템 제어 방법에 대한 순서도이고, 도 4는 실시예에 따른 차량 가상화 구조 기반의 시스템 제어 방법에서 업그레이드의 필요성 확인에 대한 구체적인 순서도이고, 도 5는 실시예에 따른 차량 가상화 구조 기반의 시스템 제어 방법에 대한 구체적인 순서도이고, 도 6은 실시예에 따른 차량 가상화 구조 기반의 시스템에서 복수의 컨테이너의 구조에 대한 개념도이고, 도 7 및 도 8은 실시예에 따른 차량 가상화 구조 기반의 시스템에서 복수의 컨테이너를 구동을 설명하는 도면이다.3 is a flowchart for a system control method based on a vehicle virtualization structure according to an embodiment, FIG. 4 is a detailed flowchart for confirming the necessity of an upgrade in a system control method based on a vehicle virtualization structure according to an embodiment, and FIG. 5 is an implementation It is a detailed flowchart of a system control method based on a vehicle virtualization structure according to an embodiment, FIG. 6 is a conceptual diagram of a structure of a plurality of containers in a system based on a vehicle virtualization structure according to an embodiment, and FIGS. 7 and 8 are in the embodiment It is a diagram for explaining driving a plurality of containers in a system based on a vehicle virtualization structure according to the present invention.
실시예에 따른 차량 가상화 구조 기반의 시스템 제어 방법은 복수의 컨테이너를 부팅하는 단계(S310), 복수의 컨테이너의 업그레이드의 필요성을 확인하는 단계(S320), 및 업그레이드의 필요성에 대응하여 복수의 컨테이너에 대한 업그레이드를 수행하는 단계(S330)를 포함할 수 있다.The system control method based on the vehicle virtualization structure according to the embodiment includes the steps of booting a plurality of containers (S310), confirming the necessity of upgrading the plurality of containers (S320), and providing a plurality of containers in response to the need for upgrade. It may include the step of performing the upgrade (S330).
이 때, 실시예에 따른 차량 가상화 구조 기반의 시스템에서 복수의 컨테이너는 상술한 바와 같이 시스템 초기화 및 관리를 공유할 수 있다.In this case, in the system based on the vehicle virtualization structure according to the embodiment, a plurality of containers may share system initialization and management as described above.
예컨대, 복수의 컨테이너(Container1 내지 Container 3)는 공유된 시스템 초기화 및 관리인 rootfs를 공유할 수 있다. 즉, 복수의 컨테이너(Container1 내지 Container 3)는 커널(kernel), 디스트로(distro) 및 라이브러리(library)를 서로 공유할 수 있다. For example, a plurality of containers (Container1 to Container 3) may share a shared system initialization and management rootfs. That is, the plurality of containers Container1 to
이 때, 차량 가상화 구조 기반의 시스템 제어 방법은 상술한 컨테이너 관리부(CM)에서 수행될 수 있다. 즉, 차량 가상화 구조 기반의 시스템 제어 장치는 컨테이너 관리부(CM)를 포함할 수 있다. 나아가, 차량 가상화 구조 기반의 시스템 제어 장치는 컨테이너 제어부(CM1), 컨테이너 업그레이드부(CM2)를 포함할 수 있으며, 후술하는 각 제어 단계를 수행할 수 있다. 이하에서 각 단계가 수행되는 장치에 대해서 간략하게 기재한다.In this case, the system control method based on the vehicle virtualization structure may be performed by the above-described container management unit (CM). That is, the system control device based on the vehicle virtualization structure may include a container management unit (CM). Furthermore, the system control apparatus based on the vehicle virtualization structure may include a container control unit CM1 and a container upgrade unit CM2, and may perform each control step to be described later. Hereinafter, the apparatus in which each step is performed will be briefly described.
실시예로, 컨테이너 제어부는 복수의 컨테이너를 부팅할 수 있다(S310). 그리고 컨테이너 업그레이드부(CM2)는 운영체제 즉 부팅된 복수의 컨테이너에 대한 업그레이드의 필요성을 판단할 수 있다(S320)In an embodiment, the container controller may boot a plurality of containers ( S310 ). In addition, the container upgrade unit CM2 may determine the need to upgrade the operating system, that is, the plurality of booted containers ( S320 ).
구체적으로, 복수의 컨테이너의 업그레이드의 필요성을 확인하는 단계는 업그레이드 정보를 수신하는 단계(S321), 업그레이드 정보와 복수의 컨테이너의 업그레이드를 비교하는 단계(S322), 업그레이드의 필요성을 결정하는 단계(S323)을 포함할 수 있다. Specifically, confirming the necessity of upgrading the plurality of containers includes receiving upgrade information (S321), comparing the upgrade information with the upgrades of the plurality of containers (S322), and determining the need for upgrade (S323) ) may be included.
컨테이너 업그레이드부(CM2)는 서버 등으로부터 업데이트 정보를 수신할 수 있다. 업데이트 정보는 해당 컨테이너의 버전 정보를 포함할 수 있다.The container upgrade unit CM2 may receive update information from a server or the like. The update information may include version information of the corresponding container.
그리고 컨테이너 관리부(CM) 또는 컨테이너 업그레이드부(CM2)는 수신한 업그레이드와 복수의 컨테이너의 업그레이드 즉, 업그레이드 정보와 비교할 수 있다. 이에, 수신한 업그레이드 정보와 대응하는 컨테이너의 업그레이드 정보를 비교하여, 컨테이너의 업그레이드 정보가 수신한 업그레이드 정보보다 최신이 아닌지 판단할 수 있다.In addition, the container management unit CM or the container upgrade unit CM2 may compare the received upgrade with upgrade information of a plurality of containers, that is, upgrade information. Accordingly, by comparing the received upgrade information with the upgrade information of the corresponding container, it may be determined whether the upgrade information of the container is newer than the received upgrade information.
예컨대, 컨테이너 관리부(CM) 또는 컨테이너 업그레이드부(CM2)는 수신한 업그레이드 정보와 컨테이너의 업그레이드 정보가 동일한 버전이거나, 컨테이너의 업그레이드 정보가 최신인 경우에 업그레이드의 필요성이 없다고 판단할 수 있다. 또한, 수신한 업그레이드의 정보가 컨테이너의 업그레이드 정보보다 낮은 버전인 경우에 업그레이드의 필요성이 있다고 판단할 수 있다. 즉, 복수의 컨테이너의 업그레이드의 필요성 존재 유무를 판단할 수 있다(S334).For example, the container management unit CM or the container upgrade unit CM2 may determine that there is no need for an upgrade when the received upgrade information and the container upgrade information are the same version or the container upgrade information is the latest. Also, when the received upgrade information is a version lower than the container upgrade information, it may be determined that the upgrade is necessary. That is, it may be determined whether there is a need to upgrade a plurality of containers ( S334 ).
그리고 컨테이너 관리부(CM)는 업그레이드의 필요성에 대응하여 복수의 컨테이너에 대한 업그레이드를 수행할 수 있다(S330). 업그레이드의 필요성이 존재하는 경우에만, 컨테이너 관리부(CM)는 복수의 컨테이너에 대한 업그레이드를 수행할 수 있다. 그리고 업그레이드의 필요성이 존재하지 않는 경우에, 컨테이너 제어부(CM1)는 복수의 컨테이너를 구동할 수 있다(S340). 즉 각 디스플레이 별 사용자 데이터(personal Data)를 로딩하여 컨테이너를 구동할 수 있다. 이 때, 상술한 바와 같이, 컨테이너 관리부(CM) 또는 컨테이너 제어부(CM1)는 차량 내 각 디스플레이별 컨테이너에서 시스템 초기화 및 관리인 rootfs를 공유하며, 각 컨테이너(예로, 디스플레이 별)가 사용자 데이터를 공유된 rootfs에 오버레이하므로 디스크 자원을 절약할 수 있다. 이에, 효율적인 컨테이너 운영 또는 구동이 이루어질 수 있다. 나아가, 컨테이너는 사용자 데이터를 복사하여(copied) 구동될 수 있다. 실시예로, 사용자 데이터 중 변경 디렉토리 카피하여 복수의 컨테이너를 구동 또는 수행할 수 있다. 즉, 최신 버전의 사용자 데이터(delta0/)가 새로운 사용자 데이터(delta1/)로 복사(copied)될 수 있다. 이에, 기존 컨테이너(original)의 구동 이후에 새로운 컨테이너(snap clone)의 구동이 용이하게 이루어질 수 있다. 예컨대, 복수 개의 RSE 디스플레이에 대한 컨테이너는 구동이 보다 용이하게 이루어질 수 있다. 또한, 기존 최신 버전의 사용자 데이터 또는 구동된 사용자 데이터(new files)가 상술한 바와 같이 공유된 rootfs(root files)에 오버레이될 수 있다(mount). 이로써, 컨테이너의 구동 및 업데이트(시스템 파일 및 사용자 데이터)가 모두 용이하게 이루어질 수 있다.In addition, the container management unit CM may perform an upgrade for a plurality of containers in response to the need for upgrade ( S330 ). Only when there is a need for upgrade, the container management unit CM may perform the upgrade for a plurality of containers. And when there is no need for upgrading, the container controller CM1 may drive a plurality of containers ( S340 ). That is, the container can be driven by loading personal data for each display. At this time, as described above, the container management unit (CM) or the container control unit (CM1) shares the system initialization and manager rootfs in each display-specific container in the vehicle, and each container (eg, display-specific) shares user data. By overlaying rootfs, you can save disk resources. Accordingly, efficient container operation or driving can be achieved. Furthermore, the container may be driven by copying user data. In an embodiment, a plurality of containers may be driven or executed by copying a change directory among user data. That is, the latest version of the user data delta0/ may be copied as the new user data delta1/. Accordingly, a new container (snap clone) can be easily driven after the existing container (original) is driven. For example, a container for a plurality of RSE displays may be more easily driven. In addition, the existing latest version of user data or driven user data (new files) may be overlaid on the shared rootfs (root files) as described above (mount). In this way, both driving and updating of the container (system files and user data) can be easily performed.
그리고 컨테이너 관리부(CM) 또는 컨테이너 제어부(CM1)는 컨테이너와 연결된 디스플레이로 어플리케이션을 실행할 수 있다(S350). 이에, 차량 내 각 탑승자에 위치한 디스플레이 별 각 서비스(예로, 어플리케이션 실행)가 탑승자에게 제공될 수 있다.In addition, the container management unit CM or the container control unit CM1 may execute an application through a display connected to the container (S350). Accordingly, each service (eg, application execution) for each display located in each occupant in the vehicle may be provided to the occupant.
그리고 컨테이너 관리부(CM) 또는 컨테이너 제어부(CM1)는 업그레이드의 필요성이 존재하는 경우에 시스템 디렉터리에 대한 업그레이드 또는 사용자 데이터(personal data)에 대한 업그레이드인지 판단할 수 있다(S360). 이는 상술한 업그레이드의 필요성에 대응하여 복수의 컨테이너에 대한 업그레이드를 수행하는 단계(S330)가 구체화되는 단계일 수 있다. 즉, 컨테이너에 대한 업그레이드의 수행이 이하와 같이 구체화되어 이루어질 수 있다.In addition, the container management unit CM or the container control unit CM1 may determine whether the upgrade is for the system directory or the user data (personal data) when there is a need for the upgrade ( S360 ). This may be a step in which the step ( S330 ) of performing the upgrade for a plurality of containers in response to the above-described need for upgrading is specified. That is, the upgrade of the container may be embodied as follows.
시스템 디렉터리에 대한 업그레이드인 경우, 컨테이너 관리부(CM)는 업그레이드인지 판단한(S360) 이후에, 사용자 인증을 수행하고(S370), 시스템 디렉터리를 수신할 수 있다(S380).In the case of an upgrade for the system directory, the container management unit CM may perform user authentication after determining whether it is an upgrade (S360) (S370) and receive the system directory (S380).
컨테이너 관리부(CM) 또는 컨테이너 업그레이드부(CM2)는 사용자 인증을 수행할 수 있다. 사용자 인증은 차량 및 컨테이너에 대한 인증을 포함할 수 있다. 즉, 차량의 종류와 컨테이너의 종류를 판단한 뒤, 해당 차량에 대응하는 컨테이너에 대한 인증을 수행할 수 있다(S370).The container management unit CM or the container upgrade unit CM2 may perform user authentication. User authentication may include authentication for vehicles and containers. That is, after determining the type of vehicle and the type of container, authentication of the container corresponding to the vehicle may be performed ( S370 ).
그리고 컨테이너 관리부(CM) 또는 컨테이너 업그레이드부(CM2)는 서버로부터 최신 버전의 파일 시스템(file system)을 수신할 수 있다. 예컨대, 파일 시스템으로 커널, OS, 라이브러리가 존재한다. 수신된 파일 시스템이 공유된 rootfs에 적용될 수 있다. 즉, 실시예에 따른 차량 가상화 구조 기반의 제어 방법 및 장치는 컨테이너 관리부에 의해(또는 컨테이너 관리부를 포함하여) 동일 가상 엔진 상에 동일 컨테이너 종류에 대한 시스템 디렉터리 업그레이드를 용이하게 수행할 수 잇다. 즉, 1번의 시스템 디렉터리 수신으로 복수의 컨테이너에 대한 시스템 디렉터리 업그레이드가 이루어질 수 있다. 이후에, 복수의 컨테이너를 재부팅할 수 있다(S390).In addition, the container management unit CM or the container upgrade unit CM2 may receive the latest version of the file system from the server. For example, a kernel, OS, and library exist as a file system. The received file system can be applied to the shared rootfs. That is, the vehicle virtualization structure-based control method and apparatus according to the embodiment can easily perform system directory upgrade for the same container type on the same virtual engine by the container manager (or including the container manager). That is, the system directory upgrade for a plurality of containers may be performed by receiving the system directory once. Thereafter, the plurality of containers may be rebooted ( S390 ).
이후에, 업그레이드의 필요성을 확인하는 단계(S320)으로 돌아가 상술한 단계 또는 기능을 수행할 수 있다. After that, it is possible to return to the step (S320) of confirming the need for the upgrade to perform the above-described steps or functions.
사용자 데이터(personal data)에 대한 업그레이드인 경우 업그레이드인지 판단하는 단계(S360) 이후에 복수의 컨테이너를 구동할 수 있다(S340). 다만 이전에 최신의 사용자 데이터를 수신(S365)할 수 있다. 여기서, 최신은 보전이 상위이거나 수정된 날짜가 가장 가까운 경우를 의미한다.In the case of an upgrade for user data (personal data), a plurality of containers may be driven after determining whether the upgrade is an upgrade ( S360 ) ( S340 ). However, it is possible to receive the latest user data before (S365). Here, the latest means a case in which the preservation is higher or the date of modification is the closest.
최신의 사용자 데이터를 각 컨테이너에 적용할 수 있다. 이 때, 상술한 바와 같이, 공유된 rootfs에 사용자 데이터를 오버레이하여 사용자 데이터를 로딩하고 개별 컨테이너를 구동할 수 있다. 이에, 디스크 자원에 대한 사용을 최소화할 수 있다.The latest user data can be applied to each container. At this time, as described above, by overlaying user data on the shared rootfs, user data can be loaded and individual containers can be driven. Accordingly, it is possible to minimize the use of disk resources.
나아가, 컨테이너 관리부(CM)는 컨테이너와 연결된 디스플레이로 어플리케이션을 실행할 수 있다(S350). 즉, 어플리케이션이 각 컨테이너 상에 구동되고 각 디스플레이를 통해 출력될 수 있다. 이에, 차량 내 각 탑승자에 위치한 디스플레이 별 각 서비스(예로, 어플리케이션 실행)가 탑승자에게 제공될 수 있다.Furthermore, the container management unit CM may execute an application through a display connected to the container ( S350 ). That is, the application may be driven on each container and output through each display. Accordingly, each service (eg, application execution) for each display located in each occupant in the vehicle may be provided to the occupant.
도 9는 도 2에서 K부분의 확대도이고, 도 10은 실시예에 따른 차량 가상화 구조 기반의 시스템에서 웹 플랫폼 제어 방법에 대한 순서도이고, 도 11은 실시예에 따른 차량 가상화 구조 기반의 시스템에서 웹 플랫폼 제어 방법에서 웹 어플리케이션의 구동을 도시한 도면이다.9 is an enlarged view of part K in FIG. 2 , FIG. 10 is a flowchart for a web platform control method in a vehicle virtualization structure-based system according to an embodiment, and FIG. 11 is a vehicle virtualization structure-based system according to an embodiment It is a diagram showing the driving of a web application in a web platform control method.
도 9 내지 도 11을 참조하면, 상술한 바와 같이 실시예에 따른 차량 가상화 구조 기반의 시스템은 베이스 운영 체제(10) 및 추가 가상 엔진(20) 상에서 탑재 또는 구동되는 웹 플랫폼부(Web Platform)을 포함할 수 있다. 인포테인먼트부(IP)와 마찬가지로 플랫폼부(Web Platform)는 컨테이너 관리자를 인포테인먼트부(IP)와 공유할 수 있다. 또는 플랫폼부(Web Platform)는 인포테인먼트부(IP)의 일부로 구성될 수 있다. 이에 대해서는 언급한 바와 같이 개별적인 구성으로 설명한다.9 to 11 , as described above, the vehicle virtualization structure-based system according to the embodiment includes a web platform mounted or driven on the
또한, 플랫폼부(Web Platform)는 인포테인먼트부(IP)와 같이 컨테이너 관리부에 탑재된 하나의 운영체제(예로, 컨테이너, 30), 운영체제 상에 탑재되고 미들웨어 및 중요 애플리케이션이 포함된 소프트웨어 집합으로 복수의 운영체제 플랫폼(예로, AGL, 40), 운영체제 플랫폼(40)에서 구동되는 복수의 애플리케이션(예로, 웹어플리케이션, 50)을 포함할 수 있다.In addition, the platform unit (Web Platform) includes one operating system (eg, container, 30) mounted on the container management unit like the infotainment unit (IP), a software set mounted on the operating system and including middleware and important applications, and a plurality of operating systems. It may include a platform (eg, AGL, 40 ) and a plurality of applications (eg, web application, 50 ) running on the
나아가, 가상 엔진(20)에는 차량 정보 서비스 서버(Vehicle Information Service Sever, VIS server)를 포함할 수 있다. 차량 정보 서비스 서버(Vehicle Information Service Sever, VIS server)는 차량 구동부 정보(속도, 연료량 등) 및 차량 설정 정보(온도, 시트위치 등)를 저장하고 각 웹 플랫폼 컨테이너 즉 운영체제 플랫폼(40)에 전송할 수 있다. 즉, 차량 정보 서비스 서버(Vehicle Information Service Sever, VIS server)는 각 웹 운영체제 플랫폼(40) 내의 차량 정보 서비스 클라이언트(Vehicle Information Service Sever, VIS Client)로 요청된 또는 탑승자에 대응한 차량 구동부 정보 및 차량 설정 정보를 제공할 수 있다.Furthermore, the
그리고 컨테이너 관리자(CM)는 상술한 바와 같이 웹 플랫폼 컨테이너 관리부(CM4)를 포함할 수 있다. 또한, 웹 플랫폼 컨테이너 관리부(CM4)는 웹 플랫폼 컨테이너에 대한 관리를 수행할 수 있으며, 웹 플랫폼 관리부, 웹 계정 관리부를 포함할 수 있다. In addition, the container manager CM may include the web platform container manager CM4 as described above. In addition, the web platform container management unit CM4 may manage the web platform container, and may include a web platform management unit and a web account management unit.
웹 플랫폼 관리부는 웹 플랫폼의 다양한 기능이 운영체제 즉, 컨테이너 상에서 정상 동작하는지 관리할 수 있다. 그리고 웹 플랫폼 관리부는 복수의 웹 플랫폼 컨테이너가 동작하는 경우 각 컨테이너 별로 로그인 계정을 관리하여 개인화된 웹 이용 환경을 관리할 수 있다. The web platform management unit may manage whether various functions of the web platform operate normally on the operating system, that is, the container. In addition, when a plurality of web platform containers are operated, the web platform management unit may manage a login account for each container to manage a personalized web use environment.
운영체제 플랫폼(40)은 AGL로, 요청된 또는 탑승자에 대응한 차량 구동부 정보 및 차량 설정 정보를 제공받아 차량 환경을 설정하는 서비스 클라이언트(Vehicle Information Service Sever, VIS Client)를 포함할 수 있다.The
나아가, 운영체제 플랫폼(40)은 사용자 인식 및 등록을 위한 API 서비스부(Device API service), 운영체제 플랫폼에 포함된 웹 어플리케이션을 관리하는 기능을 확장하기 위해 복수 개의 웹 플랫폼 컨테이너(운영체제, 30)가 구동 시 GPS 등의 하드웨어 자원을 복수의 웹 어플리케이션이 이용할 수 있는지 여부를 모니터링하고 관리하는 애드온부(WAM add on), 및 웹 어플리케이션 이용 시 텍스트 입력이 필요한 경우를 위한 가상키보드부(Virtual Keyboard)를 포함할 수 있다.Furthermore, the
보다 구체적으로, 실시예에 따른 차량 가상화 구조 기반의 제어 방법은 웹 플랫폼 제어와 관련하여 사용자를 인식하는 단계(S405), 인식된 사용자가 기등록된 사용자인지 확인하는 단계(S410)를 포함할 수 있다.More specifically, the vehicle virtualization structure-based control method according to the embodiment may include recognizing a user in relation to web platform control (S405) and checking whether the recognized user is a previously registered user (S410). have.
즉, 운영체제 플랫폼(40) 또는 API 서비스부(Device API service)는 사용자를 인식할 수 있다(S405). 다시 말해, 차량 내 각 탑승자에 대한 개별적인 인식이 이루어질 수 있다. 이는 다양한 장치(센서, 모바일, 어플리케이션 등)를 통해 사용자 인식이 수행될 수 있다. 또한, 사용자를 인식하는 단계(S405)는 전술한 업데이트 및 컨테이너 구동 이후에 수행될 수 있다. 예를 들어, 사용자를 인식하는 단계(S405)는 어플리케이션이 각 컨테이너 상에서 구동되고 각 디스플레이로 출력된(S350) 이후에 수행될 수 있다. 이 때, 차량 내 탑승자의 사용자가 웹 플랫폼 컨테이너를 구동하고 사용자 인식이 수행될 수 있다.That is, the
운영체제 플랫폼(40) 또는 API 서비스부(Device API service)는 인식된 사용자가 기등록된 사용자인지 확인할 수 있다(S410). 운영체제 플랫폼(40) 또는 API 서비스부(Device API service)는 기존에 등록된 사용자가 아닌 경우에 사용자 등록을 진행하고(S415), 기존에 등록된 사용자인 경우에 차량 환경을 설정할 수 있다(S420). 환경은 시트 포지션, 선호 온도, 조명광 상태 등을 포함할 수 있다.The
특히, 사용자 인식은 컨테이너 관리부(CM) 증 웹 플랫폼 컨테이너 관리부(CM4)과 연계하여 이루어질 수 있다. 웹 플랫폼 컨테이너 관리부(CM4)는 웹 계정 등록, 변경, 삭제 등을 관리하고, 웹 계정이 등록된 계정인 확인할 수 있으며, 웹 계정 별 어플리케이션 리스트 실행 및 관리를 수행하거나, 웹 계정 로그인이 중복으로 일어나지 않도록 로그인 상태를 관리할 수 있다. 즉, 운영체제 플랫폼(40) 또는 API 서비스부(Device API service)으로부터 제공된 사용자 정보가 컨테이너 관리부(CM)에서 확인되고 계정 별 어플리케이션 리스트 실행 및 관리나 중복 로그인 관리가 이루어질 수 있다.In particular, user recognition may be made in conjunction with the container management unit (CM) or the web platform container management unit (CM4). The web platform container management unit (CM4) manages web account registration, change, deletion, etc., can confirm that the web account is a registered account, executes and manages the application list for each web account, or does not cause duplicate web account logins. You can manage the login status to prevent it from happening. That is, user information provided from the
그리고 컨테이너 관리부(CM) 증 웹 플랫폼 컨테이너 관리부(CM4)는 인식된 사용자 즉, 사용자 정보에 대한 웹 계정 등록 여부를 확인할 수 있다(S425). In addition, the container management unit (CM) authentication web platform container management unit (CM4) may check whether a web account is registered for the recognized user, that is, user information (S425).
이에, 컨테이너 관리부(CM) 증 웹 플랫폼 컨테이너 관리부(CM4)는 해당 사용자에 대한 웹 계정이 등록되지 않았거나 없는 경우 웹 계정을 등록하고(S430) 저장하며, 웹 계정이 등록된 경우에 웹 계정이 다른 웹 플랫폼 컨테이너에 로그인되었는지 확인할 수 있다(S435).Accordingly, the container management unit (CM) authentication web platform container management unit (CM4) registers and stores a web account (S430) if the web account for the user is not registered or does not exist, and when the web account is registered, the web account is It can be checked whether the user is logged in to another web platform container (S435).
이에, 컨테이너 관리부(CM) 증 웹 플랫폼 컨테이너 관리부(CM4)는 웹 계정이 다른 웹 플랫폼 컨테이너에 로그인된 경우 종료 또는 재로그인을 출력하나(S440), 해당 웹 계정이 로그인된 상태가 아니라면 웹 계정 별 어플리케이션을 추출(S445)할 수 있다. 그리고 추출된 웹 계정 별 선호 어플리케이션을 사용자에게 제공할 수 있다(도 11 참조). 이에, 사용자는 웹 계정 별 선호하는 또는 실시간 웹 어플리케이션의 구동에 대해 용이하게 인식할 수 있다.Accordingly, the container management unit (CM) authentication web platform container management unit (CM4) outputs termination or re-login when the web account is logged in to another web platform container (S440), but if the web account is not logged in, each web account The application may be extracted (S445). In addition, the extracted preferred application for each web account may be provided to the user (refer to FIG. 11 ). Accordingly, the user can easily recognize the preferred or real-time web application operation for each web account.
그리고 컨테이너 관리부(CM) 증 웹 플랫폼 컨테이너 관리부(CM4)는 네비게이션 어플리케이션을 구동하고 목적지를 디스플레이에 표시할 수 있다(S450). 그리고 사용자는 가상키보드부(Virtual Keyboard)를 통해 목적지 입력할 수 있다(S455). 이와 같이, 실시예에 따른 차량 가상화 구조 기반의 제어 방법 및 장치에서 웹 플랫폼 제어로(방법 또는 장치), 사용자 인식에 따라 웹 플랫폼 어플리케이션을 용이하게 사용하며, 각 운영체제(웹 플랫폼 컨테이너)에 동일 어플리케이션을 상이한 사용자 또는 탑승자 웹 계정으로 구동할 수 있다. 이로써, 차량 내 탑승자 간의 개별 계정을 이용하여 동일 어플리케이션을 구동 및 실행할 수 있다.And the container management unit (CM) increase web platform container management unit (CM4) may drive the navigation application and display the destination on the display (S450). In addition, the user may input a destination through a virtual keyboard (S455). As described above, from the vehicle virtualization structure-based control method and device according to the embodiment to the web platform control (method or device), the web platform application is easily used according to user recognition, and the same application is applied to each operating system (web platform container). can run with different user or passenger web accounts. Accordingly, the same application can be driven and executed using individual accounts between passengers in the vehicle.
도 12는 다른 실시예에 따른 차량 가상화 구조 기반의 시스템의 개념도이고, 도 13은 실시예에 따른 차량 가상화 구조 기반의 시스템에서 디스플레이 장치를 설명하는 도면이다.12 is a conceptual diagram of a system based on a vehicle virtualization structure according to another embodiment, and FIG. 13 is a view for explaining a display device in a system based on a vehicle virtualization structure according to an embodiment.
도 12 및 도 13을 참조하면, 상술한 바와 같이 실시예에 따른 차량 가상화 구조 기반의 시스템은 하드웨어(미도시됨), 하드웨어(미도시됨) 상에 탑재된 베이스 운영 체제(10), 베이스 운영 체제(10) 상에 탑재된 제1 가상엔진(20a)과 제2 가상엔진(20b), 각 가상엔진 상에 탑재되는 적어도 하나의 운영체제(30a 내지 30f), 적어도 하나의 운영체제(30a 내지 30f) 상에 탑재되고 미들웨어 및 중요 애플리케이션이 포함된 소프트웨어 집합으로 복수의 운영체제 플랫폼(40a 내지 40f), 운영체제 플랫폼(40a 내지 40f)에서 구동되는 복수의 애플리케이션(50a 내지 50d), 복수의 운영체제 플랫폼(40a 내지 40f) 또는 복수의 애플리케이션 등을 출력하는 복수의 디스플레이(60a 내지 60f) 및 가상엔진(20a 내지 20b) 상에서 복수의 운영체제(30a 내지 30d)에 대한 환경을 관리하는 컨테이너 관리부(CM)를 포함할 수 있다. 적어도 하나의 운영체제는 이하 '컨테이너(container)'로 설명한다.12 and 13, as described above, the vehicle virtualization structure-based system according to the embodiment includes hardware (not shown), the
여기서, 하드웨어(미도시됨)는 프로세서, 표시부, 저장부, 메모리부, 컨트롤부, I/O 장치를 포함하는 개념일 수 있다.Here, hardware (not shown) may be a concept including a processor, a display unit, a storage unit, a memory unit, a control unit, and an I/O device.
실시예에서, 주행부(CP)는 제1 가상엔진(20a) 상에서 탑재 또는 구동되는 시스템 영역이고, 인포테인먼트부(IP, Infotainment Platform)는 제1 가상엔진(20a)과 이종의 가상엔진인 제2 가상엔진(20b) 상에서 탑재 또는 구동되는 시스템 영역일 수 있다. 이러한 구성에 의하여, 인포테인먼트부(IP) 내에서 업그레이드 또는 기타 오작동이 발생하더라도, 주행부(CP)는 이에 대한 영향을 받지 않을 수 있다. 즉, 주행 중 영향이 최소화될 수 있다. 나아가, 인포테인먼트부(IP) 이외에 웹 플랫폼부(Web Platform)이 베이스 운영 체제(10) 및 추가 가상 엔진(20) 상에서 탑재 또는 구동될 수 잇다. 인포테인먼트부(IP)와 마찬가지로 플랫폼부(Web Platform)는 컨테이너 관리자를 인포테인먼트부(IP)와 공유할 수 있다. 또는 플랫폼부(Web Platform)는 인포테인먼트부(IP)의 일부로 구성될 수 있다. 이하에서는 개별적인 구성으로 설명한다.In the embodiment, the driving unit CP is a system area mounted or driven on the first
플랫폼부(Web Platform)는 인포테인먼트부(IP)와 같이 컨테이너 관리부에 탑재된 하나의 운영체제(예로, 컨테이너, 30), 운영체제 상에 탑재되고 미들웨어 및 중요 애플리케이션이 포함된 소프트웨어 집합으로 복수의 운영체제 플랫폼(예로, AGL, 40), 운영체제 플랫폼(40)에서 구동되는 복수의 애플리케이션(예로, 웹어플리케이션, 50)을 포함할 수 있다.The platform unit (Web Platform) is a set of software installed on one operating system (eg, container, 30), the operating system mounted on the container management unit, such as the infotainment unit (IP), and including middleware and important applications, and a plurality of operating system platforms ( For example, the
먼저, 베이스 운영 체제(10)는 예를 들어 다양한 운영체제일 수 있다. 예컨대, 베이스 운영 체제(10)는 리눅스(linux), 하이퍼바이저(hypervisor), QNX, GENIVI 등을 포함할 수 있다.First, the
예를 들어, 제1 가상엔진(20a)과 제2 가상엔진(20b)은 미들웨어 솔루션 또는 다양한 플랫폼으로서, 모바일 C 언어로 개발될 수 있다. 제1 가상엔진(20a)과 제2 가상엔진(20b)은 다수의 내장 라이브러리를 제공할 수 있으며, 다양한 이동 단말기 등에서 동일한 동작을 수행할 수도 있다. 예컨대, 제1 가상엔진(20a)과 제2 가상엔진(20b)은 리눅스 기반의 안드로이드 커널일 수 있으며, 메모리 보호, 가상 메모리 모듈 및 스케줄 캐싱을 초기화할 수도 있다.For example, the first
또한, 적어도 하나의 컨테이너(30a 내지 30d)는 제2 가상엔진(20a) 상에 탑재되고 제1 가상엔진(10a) 상에 탑재되지 않을 수 있다. 이에, 주행부(CP)에 대한 보안성이 향상되므로, 주행 안정성도 개선될 수 있다.Also, the at least one
적어도 하나의 컨테이너(30a 내지 30d)는 실시예로 가상화 방식의 일 형태로서 프로세스 가상화의 일정일 수 있다. 예컨대, 컨테이너를 이용한 가상화 기술은 호스트 OS(operating system) 내부를 물리적 자원을 관리하는 커널 공간과 사용자 프로세스, 즉 응용 프로그램(어플레케이션, application, APP)을 실행하는 사용자 공간으로 구분하고 사용자 공간을 여러 개로 나누어 각각의 사용자 프로세스에서 사용되는 하드웨어 자원을 할당하고 공유하는 기술을 의미할 수 있다. 예컨대, 컨테이너(30a 내지 30d)는 호출된 라이브러리를 시스템 라이브러리와 인터페이스되도록 변환하여, 베이스 운영체제와 복수의 운영체제 플랫폼 간의 연결 또는 호환을 수행할 수 있다.At least one
복수의 운영체제 플랫폼(40a 내지 40f)은 컨테이너 상에 탑재될 수 있다. 복수의 운영체제 플랫폼(40a 내지 40f)는 안드로이드, AGL(Automotive Grade Linux), 웹 (web)플랫폼, 클러스터(cluster) 플랫폼, 헤드업 디스플레이(HUD) 플랫폼 등을 포함할 수 있다. 나아가, 운영체제 플랫폼(40) 내에 복수 개의 사운드 클라이언트가 배치될 수 있다. 복수 개의 사운드 클라이언트는 제1 사운드 클라이언트 및 제2 사운드 클라이언트를 포함할 수 있다. 이 때, 제1 사운드 클라이언트는 제1 가상엔진(20a) 상의 운영체제 플랫폼(40a, 40b)에 탑재될 수 있다. 제2 사운드 클라이언트는 제2 가상엔진(20b) 상의 운영체제 플랫폼(40c 등)에 탑재될 수 있다. 즉, 제1 사운드 클라이언트 및 상기 제2 사운드 클라이언트는 서로 다른 가상엔진 상에 탑재될 수 있다. 그리고 제1 사운드 클라이언트는 클러스터 운영체제에 탑재(40a) 또는 HUD 운영체제(40b)에 탑재될 수 있다. 그리고 제2 사운트 클라이언트는 AVN(Audio Video Navigation) 운영체제, 코-드라이버(Co-Driver) 운영체제, RSE(Rear Seat Entertainment) 운영체제에 탑재될 수 있다.The plurality of
나아가, 사운드 서버는 제1 사운드 클라이언트(SC1) 및 제2 사운드 클라이언트(SC2)로부터 각각 제1 사운드 출력정보 및 제2 사운드 출력정보를 수신할 수 있다. 사운드 서버는 가상엔진(20a, 20b)에 또는 베이스 운영체제(10) 내에 탑재될 수 있다. 이하에서는 사운드 서버는 제1 사운드 서버(SS1), 제2 사운드 서버(SS2)를 포함하고, 제1 사운드 서버(SS1) 및 제2 사운드 서버(SS2)는 이종의 가상엔진에 탑재되는 것을 기준으로 설명한다.Furthermore, the sound server may receive the first sound output information and the second sound output information from the first sound client SC1 and the second sound client SC2, respectively. The sound server may be mounted in the
적어도 하나의 애플리케이션(50a 내지 50d)은 시스템 프로그램을 제외한 응용 프로그램으로써, 차량 내에서는 AVN(Audio Video Navigation), 코-드라이버(Co-Driver), RSE(Rear Seat Entertainment) 등을 포함할 수 있다. The at least one
복수의 디스플레이(60a 내지 60f)는 운영체제 플랫폼(40a 내지 40f) 또는 플랫폼 상의 응용 프로그램 등을 사용자(예로, 탑승자)에게 표시할 수 있다. 예컨대, 복수의 디스플레이(60a 내지 60f)는 다양한 표시 장치(예로, OLED)를 포함할 수 있다.The plurality of
이하에 대한 설명은 상술한 오디오 정책 및 제어 관리부에 대한 내용일 수 있다.The following description may refer to the above-described audio policy and control management unit.
또한, 사용자(예로, 탑승자)는 사용자 인터페이스 등을 통해 차량 가상화 구조 기반의 시스템을 조작할 수 있다. 그리고 조작 과정 또는 결과가 디스플레이, 오디오 등의 출력 장치를 통해 사용자에게 제공될 수 있다.In addition, a user (eg, an occupant) may operate a vehicle virtualization structure-based system through a user interface or the like. In addition, the manipulation process or result may be provided to the user through an output device such as a display or audio.
도 14는 실시예에 따른 차량 가상화 구조 기반의 사운드 제어 장치의 블록도이고, 도 15는 실시예에 따른 차량 가상화 구조 기반의 사운드 제어 방법의 순서도이고, 도 16은 실시예에 따른 차량 가상화 구조 기반의 사운드 제어 방법의 구체화된 순서도이고, 도 17은 일예에 대한 제1 사운드 출력정보 및 제2 사운드 출력정보의 출력을 설명하는 도면이고, 도 18은 다른예에 대한 제1 사운드 출력정보 및 제2 사운드 출력정보의 출력을 설명하는 도면이고, 도 19는 또 다른예에 대한 제1 사운드 출력정보 및 제2 사운드 출력정보의 출력을 설명하는 도면이다.14 is a block diagram of a sound control apparatus based on a vehicle virtualization structure according to an embodiment, FIG. 15 is a flowchart of a sound control method based on a vehicle virtualization structure according to an embodiment, and FIG. 16 is a vehicle virtualization structure based according to an embodiment is a detailed flowchart of a sound control method of , FIG. 17 is a diagram for explaining the output of the first sound output information and the second sound output information for one example, and FIG. 18 is the first sound output information and the second sound output information for another example It is a view for explaining the output of sound output information, and FIG. 19 is a view for explaining the output of the first sound output information and the second sound output information for another example.
도 14를 참조하면, 실시예에 따른 차량 가상화 구조 기반의 사운드 제어 장치(100)는 수신부(110), 비교부(120), 판단부(130) 및 송신부(140)를 포함할 수 있다. 이 때, 차량 가상화 구조 기반의 사운드 제어 장치(100)는 오디오 정책 및 제어 관리부를 포함하며, 오디오 정책 및 제어 관리부는 수신부(110), 비교부(120), 판단부(130) 및 송신부(140)에 대응할 수 있다.Referring to FIG. 14 , the
먼저, 수신부(110)는 각 사운드 클라이언트로부터 사운드 출력정보를 수신할 수 있다. 예컨대, 수신부(110)는 제1 사운드 클라이언트로부터 제1 사운드 출력정보 및 제2 사운드 클라이언트로부터 제2 사운드 출력정보 중 적어도 하나를 수신할 수 있다. 그리고 사운드 출력정보는 사용자의 입력 등에 의해 발생할 수 있다. 즉, 사운드 출력정보는 사용자 입력에 의해 어플리케이션이 수행되면서 출력되는 사운드 정보를 포함할 수 있다.First, the
비교부(120)는 수신된 상기 제1 사운드 출력정보 및 상기 제2 사운드 출력정보에 대한 우선순위를 비교할 수 있다. 제1 사운드 출력정보의 우선순위는 상기 제2 사운드 출력정보의 우선순위보다 높을 수 있다. 이에, 주행부로부터 수신한 사운드 출력 정보가 인포테인먼트부로부터 수신한 사운드 출력 정보보다 우선순위가 높으므로, 주행에 대한 안정성을 향상시킬 수 있다.The
판단부(130)는 상기 제1 사운드 출력정보의 발생 시점이 차량의 주행중인지 여부를 판단할 수 있다. 이 때, 판단부(130)는 제1 사운드 출력정보를 출력한 후 제2 사운드 출력정보를 출력하도록 판단할 수 있다.The
그리고 판단부(130)는 제1 사운드 출력정보의 발생 시점이 차량의 주행중이라면 제1 사운드 출력정보의 레벨에 따라 제1 사운드 출력정보 및 제2 사운드 출력정보의 출력 여부 및 출력 시간을 조절하여 출력하도록 판단할 수 있다.And if the generation time of the first sound output information is the driving of the vehicle, the
구체적으로, 판단부(130)는 제1 사운드 출력정보의 레벨이 제1 레벨이면 상기 제1 사운드 출력정보만 출력하고, 상기 제2 사운드 출력정보의 출력을 차단하도록 판단할 수 있다. 이 때, 출력정보의 레벨은 제1 레벨 및 상기 제1 레벨보다 낮은 제2 레벨을 포함할 수 있다.Specifically, when the level of the first sound output information is the first level, the
그리고 판단부(130)는 제1 사운드 출력정보의 레벨이 제2 레벨이면, 상기 제1 사운드 출력정보 및 상기 제2 사운드 출력정보를 제1 시간 동안 출력할 수 있다. 또한, 판단부(130)는 제2 사운드 출력정보를 제1 시간에 연속하는 제2 시간 동안 출력하도록 판단할 수 있다. 이 때, 제1 시간 동안 상기 제1 사운드 출력정보의 크기는 상기 제2 사운드 출력정보의 크기보다 클 수 있다. 이러한 구성에 의하여, 차량 주행 중의 안정성 향상이 이루어질 수 있다.In addition, when the level of the first sound output information is the second level, the
또한, 가상 엔진(가상화 환경) 또는 호스트 운영체제에 탑재된(또는 임베디드된) 운영체제(예로, 게스트 운영체제 등) 내의 사운드 클라이언트는 각 운영체제 등과 연결된 디스플레이 장치 등으로 사운드 출력정보를 수신 또는 요청할 수 있다. 사운드 출력정보의 수신 및 요청은 출력이 요구되는 사운드 데이터를 의미할 수 있다.In addition, a sound client in a virtual engine (virtualization environment) or an operating system (eg, a guest operating system, etc.) mounted (or embedded) in the host operating system may receive or request sound output information from a display device connected to each operating system or the like. Receiving and requesting sound output information may mean sound data for which output is requested.
그리고 가상 엔진 또는 컨테이너 또는 베이스 운영 체제 내에 탑재된 사운드 서버는 데이터 즉 사운드 출력정보를 수신하여 출력 인터페이스인 스피커 등을 통해 사운드를 출력하도록 하드웨어로 사운드 출력 정보를 소신할 수 있다. 이 때, 사운드 출력정보 즉 데이터는 가상 엔진 또는 호스트 운영체제에 탑재된(또는 임베디드된) 운영체제(예로, 게스트 운영체제 등) 내의 사운드 클라이언트를 통해 디스플레이 장치로 전달되어 사용자에게 제공될 수 있다.In addition, the sound server mounted in the virtual engine or container or the base operating system may receive data, that is, sound output information, and transmit the sound output information to hardware to output sound through a speaker, which is an output interface, or the like. In this case, sound output information, that is, data may be delivered to a display device through a sound client in a virtual engine or a sound client installed (or embedded) in a host operating system (eg, a guest operating system) to be provided to the user.
또한, 송신부(140)는 최종 판단된 제1 사운드 출력정보 및 제2 사운드 출력정보 중 적어도 하나를 하드웨어 등으로 송신할 수 있다. 이를 통해, 차량의 전면 또는 후면 사운드 출력장치(예로, 스피커)를 통해 사운드가 출력될 수 있다. Also, the
도 15 내지 도 19를 참조하면, 실시예에 따른 차량 가상화 구조 기반의 사운드 제어 방법은 제1 사운드 클라이언트로부터 제1 사운드 출력정보 및 제2 사운드 클라이언트로부터 제2 사운드 출력정보 중 적어도 하나를 수신하는 단계(S510), 수신된 상기 제1 사운드 출력정보 및 상기 제2 사운드 출력정보에 대한 우선순위를 비교하는 단계(S520) 및 비교 결과에 대응하여 제1 사운드 출력정보 및 제2 사운드 출력정보 중 적어도 하나를 하드웨어로 송신하는 단계(S530)을 포함할 수 있다. 이하에서, 각 단계는 상술한 차량 가상화 구조 기반의 사운드 제어 장치에 의해 수행될 수 있다.15 to 19 , the method for controlling a sound based on a vehicle virtualization structure according to an embodiment includes receiving at least one of first sound output information from a first sound client and second sound output information from a second sound client (S510), comparing the priority of the received first sound output information and the second sound output information (S520), and at least one of the first sound output information and the second sound output information in response to the comparison result may include a step (S530) of transmitting to hardware. Hereinafter, each step may be performed by the above-described vehicle virtualization structure-based sound control device.
그리고 제1 사운드 클라이언트 및 상기 제2 사운드 클라이언트는 서로 다른 가상엔진 상에 탑재되며, 제1 사운드 클라이언트는 클러스터 운영체제에 탑재되고, 상기 제2 사운드 클라이언트는 AVN(Audio Video Navigation) 운영체제, 코-드라이버(Co-Driver) 운영체제, RSE(Rear Seat Entertainment) 운영체제에 탑재될 수 있다.In addition, the first sound client and the second sound client are mounted on different virtual engines, the first sound client is mounted on a cluster operating system, and the second sound client is an AVN (Audio Video Navigation) operating system, a co-driver ( It can be installed in the Co-Driver operating system and RSE (Rear Seat Entertainment) operating system.
또한, 제1 사운드 출력정보의 우선순위는 상기 제2 사운드 출력정보의 우선순위보다 높을 수 있다.In addition, the priority of the first sound output information may be higher than the priority of the second sound output information.
그리고 우선순위를 비교한(S520) 이후에, 제1 사운드 출력정보의 발생 시점이 차량의 주행중인지 여부를 확인할 수 있다(S540).After the priority is compared (S520), it may be checked whether the first sound output information is generated when the vehicle is driving (S540).
실시예로, 제1 사운드 출력정보의 발생 시점이 차량의 주행중이 아니라면, 제1 사운드 출력정보를 출력한 후 제2 사운드 출력정보를 출력할 수 있다(S550). 예컨대, 주행이 시작되기 전에 인포테인먼트부의 오디오 재생 전 구동부의 알림음의 재생이 필요할 수 있다. 이 경우, 도 17과 같이 구동부의 알림(제1 사운드 출력정보)을 특정 시간(ta)까지 먼저 출력하고, 인포테인먼트부의 오디오(제2 사운드 출력 정보)가 특정 시간(ta)이후에 출력될 수 있다. 즉, 시동을 켠 후, AVN의 라디오 등 미디어 재생 전에 연료 부족 알림, 소모품 교체 알림 등의 알림음이 우선적으로 출력(재생)될 수 있다. 다시 말해, 비교 결과에 대응하여 제1 사운드 출력정보 및 제2 사운드 출력정보(차량 주행중에는 제1 사운드 출력정보 송신 후 제2 사운드 출력 정보 송신) 중 적어도 하나를 송신할 수 있다.In an embodiment, if the generation time of the first sound output information is not while the vehicle is being driven, the second sound output information may be output after the first sound output information is output ( S550 ). For example, it may be necessary to reproduce a notification sound of the driving unit before the infotainment unit reproduces audio before driving starts. In this case, as shown in FIG. 17 , a notification (first sound output information) of the driving unit may be output first until a specific time ta, and audio (second sound output information) of the infotainment unit may be output after a specific time ta. . That is, after turning on the engine, notification sounds such as fuel shortage notification and consumable replacement notification may be preferentially output (played) before media playback such as AVN radio. In other words, at least one of the first sound output information and the second sound output information (transmitting the second sound output information after the first sound output information is transmitted while the vehicle is driving) may be transmitted in response to the comparison result.
그리고 제1 사운드 출력정보의 발생 시점이 차량의 주행중이라면 상기 제1 사운드 출력정보의 레벨에 따라 상기 제1 사운드 출력정보 및 제2 사운드 출력정보의 출력 여부 및 출력 시간을 조절하여 출력할 수 있다(S570). 여기서, 출력정보의 레벨은 제1 레벨 및 상기 제1 레벨보다 낮은 제2 레벨을 포함할 수 있다.In addition, if the generation time of the first sound output information is while the vehicle is driving, the output of the first sound output information and the second sound output information and output time may be adjusted and outputted according to the level of the first sound output information ( S570). Here, the level of the output information may include a first level and a second level lower than the first level.
그리고 제1 사운드 출력정보의 레벨이 제1 레벨인지 판단할 수 있다. 제1 사운드 출력정보의 레벨이 제1 레벨이면 제1 사운드 출력정보만 출력하고, 제2 사운드 출력정보의 출력을 차단할 수 있다(S580).In addition, it may be determined whether the level of the first sound output information is the first level. If the level of the first sound output information is the first level, only the first sound output information may be output and the output of the second sound output information may be blocked ( S580 ).
예컨대, 차량의 주행중에 구동부의 오디오(또는 사운드)를 출력하고 인포테인먼트부의 오디오를 음소거(mute)할 수 있다. 이를 통해, 운전자가 위험 상태를 완전하게 인지하게 되어 사고 발생이 억제될 수 있다. 즉, 도 18과 같이, 제1 사운드 출력정보만이 출력되고 제2 사운드 출력정보의 출력이 차단될 수 있다. For example, the audio (or sound) of the driving unit may be output while the vehicle is driving and the audio of the infotainment unit may be muted. Through this, the driver is fully aware of the dangerous state, so that the occurrence of an accident can be suppressed. That is, as shown in FIG. 18 , only the first sound output information may be output and the output of the second sound output information may be blocked.
예컨대, 주행 중 차량 구동부 고장, 졸음 방지 경고음 등(제1 사운드 출력 정보)이 인포테인먼트부의 오디오(제2 사운드 출력정보)가 차단된 상태에서 출력되어야 하므로, 제1 사운드 출력정보만이 하드웨어로 송신될 수 있다.For example, since the vehicle driving unit failure, drowsiness prevention warning sound, etc. (first sound output information) must be output in a state in which the infotainment unit audio (second sound output information) is blocked while driving, only the first sound output information is transmitted to the hardware. can
그리고 제1 사운드 출력정보의 레벨이 제2 레벨이면, 제1 사운드 출력정보 및 상기 제2 사운드 출력정보를 제1 시간 동안 출력하고(S590), 제2 사운드 출력정보를 제1 시간에 연속하는 제2 시간 동안 출력할 수 있다(S595). And when the level of the first sound output information is the second level, the first sound output information and the second sound output information are output for a first time (S590), and the second sound output information is continuously output for the first time. It can output for 2 hours (S595).
도 19를 참조하면, 제1 시간(t1)까지 제1 사운드 출력정보 및 제2 사운드 출력 정보를 출력할 수 있다. 이 때, 제1 시간(t1) 동안 상기 제1 사운드 출력정보의 크기(AM1)는 상기 제2 사운드 출력정보의 크기(AM2)보다 클 수 있다. 이에, 운전자는 제1 사운드 출력정보의 오디오를 용이하게 인지할 수 있다.Referring to FIG. 19 , the first sound output information and the second sound output information may be output until the first time t1. In this case, during the first time t1 , the size AM1 of the first sound output information may be greater than the size AM2 of the second sound output information. Accordingly, the driver can easily recognize the audio of the first sound output information.
이로써, 주행 중 차선 이탈 경보음, 소모품 교체 알림 등의 순간적 주의를 요구하는 제1 사운드 출력정보가 운전자에게 용이하게 제공될 수 있다.Accordingly, the first sound output information requesting instantaneous attention, such as a lane departure warning sound and a consumable replacement notification while driving, may be easily provided to the driver.
나아가, 제2 사운드 출력정보만을 수신하면 상기 송신하는 단계에서 상기 제2 사운드 출력정보를 상기 하드웨어로 송신할 수 있다.Furthermore, if only the second sound output information is received, the second sound output information may be transmitted to the hardware in the transmitting step.
이 대, 디스플레이 장치들이 오디오 데이터를 출력하는 경우, 이들 장치 간의 우선순위가 존재할 수 있다. 예컨대, AVN, RSE, Co-drive, 순으로 운선순위가 설정될 수 있다.In contrast, when display devices output audio data, a priority may exist between these devices. For example, AVN, RSE, Co-drive, and the order of priority may be set.
예를 들어, AVN만 오디오 출력이 이루어지는 경우, 차량의 모든 사운드 장치(이하, 스피커)가 해당 오디오를 출력할 수 있다. 그리고 AVN과 RSE가 동시에 오디오 출력을 수행하는 경우, 차량의 전면부 상에 오디오가 출력되는 경우, 차량의 전면부 스피커는 AVN의 오디오 출력이 출력되고, 차량의 후면부 스피커는 RSE의 오디오 출력이 출력될 수 있다. 또한, AVN과 Co-drive가 동시에 오디오 출력을 수행하는 경우, AVN과 Co-drive 중 최근에 출력된 오디오 출력이 차량의 모든 스피커로 출력될 수 있다. For example, when only the AVN outputs audio, all sound devices (hereinafter, speakers) of the vehicle may output the corresponding audio. When AVN and RSE simultaneously output audio, when audio is output on the front of the vehicle, the audio output of AVN is output from the speaker on the front of the vehicle, and audio output of RSE is output from the speaker on the rear of the vehicle can be In addition, when the AVN and the co-drive simultaneously output audio, the most recently output audio output among the AVN and the co-drive may be output to all speakers of the vehicle.
도 20은 변형예에 따른 차량 가상화 구조 기반의 시스템의 개념도이다.20 is a conceptual diagram of a system based on a vehicle virtualization structure according to a modified example.
상술한 바와 같이 실시예에 따른 차량 가상화 구조 기반의 시스템은 하드웨어(미도시됨), 하드웨어(미도시됨) 상에 탑재된 베이스 운영 체제(10), 베이스 운영 체제(10) 상에 탑재된 적어도 하나의 운영체제(30a 내지 30f), 적어도 하나의 운영체제(30a 내지 30f) 상에 탑재되고 미들웨어 및 중요 애플리케이션이 포함된 소프트웨어 집합으로 복수의 운영체제 플랫폼(40a 내지 40f), 운영체제 플랫폼(40a 내지 40f)에서 구동되는 복수의 애플리케이션(50a 내지 50d), 복수의 운영체제 플랫폼(40a 내지 40f) 또는 복수의 애플리케이션 등을 출력하는 복수의 디스플레이(60a 내지 60f) 및 가상엔진(20a 내지 20b) 상에서 복수의 운영체제(30a 내지 30d)에 대한 환경을 관리하는 컨테이너 관리부(CM)를 포함할 수 있다. 적어도 하나의 운영체제는 이하 '컨테이너(container)'로 설명한다. 즉, 상술한 가상엔진 없이 도 20에 도시된 차량 가상화 구조 기반의 시스템으로 상술한 사운드 제어가 수행될 수 있다.As described above, the vehicle virtualization structure-based system according to the embodiment includes at least hardware (not shown), the
상술한, 본 발명의 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행 가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체 일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체를 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분 리형 및 비분리형 매체를 모두 포함할 수 있다.The above-described embodiment of the present invention may also be implemented in the form of a recording medium including instructions executable by a computer, such as a program module executed by a computer. Computer-readable media can be any available media that can be accessed by a computer and includes both volatile and nonvolatile media, removable and non-removable media. Also, computer-readable media may include computer storage media. Computer storage media may include both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules, or other data.
또한, 본 실시예에서 설명한 차량용 소프트웨어 제어 장치는 컴퓨터 구현 가능한 저장매체에 저장된 컴퓨터 프로그램으로 구현될 수 있다. 또한, 본 실시예에서 사용되는 '~부'라는 용어는 소프트웨어 또는 FPGA(field-programmable gate array) 또는 ASIC과 같은 하드웨어 구성요소를 의미하며, '~부'는 어떤 역할들을 수행할 수 있다. 그렇지만 '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함할 수 있다. 구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합되거나 추가적인 구성요소들과 '~부'들로 더 분리될 수 있다. 뿐만 아니라, 구성요소들 및 '~부'들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU들을 재생시키도록 구현될 수도 있다.In addition, the vehicle software control device described in this embodiment may be implemented as a computer program stored in a computer-implementable storage medium. In addition, the term '~ unit' used in this embodiment means software or a hardware component such as a field-programmable gate array (FPGA) or ASIC, and '~ unit' may perform certain roles. However, '-part' is not limited to software or hardware. '~' may be configured to reside in an addressable storage medium or may be configured to refresh one or more processors. Thus, as an example, '~' refers to components such as software components, object-oriented software components, class components, and task components, and processes, functions, properties, and procedures. , subroutines, segments of program code, drivers, firmware, microcode, circuitry, data, databases, data structures, tables, arrays, and variables. The functions provided in the components and '~ units' may be combined into a smaller number of components and '~ units' or further separated into additional components and '~ units'. In addition, components and '~ units' may be implemented to play one or more CPUs in a device or secure multimedia card.
이상에서 실시예를 중심으로 설명하였으나 이는 단지 예시일 뿐 본 발명을 한정하는 것이 아니며, 본 발명이 속하는 분야의 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성을 벗어나지 않는 범위에서 이상에 예시되지 않은 여러 가지의 변형과 응용이 가능함을 알 수 있을 것이다. 예를 들어, 실시예에 구체적으로 나타난 각 구성 요소는 변형하여 실시할 수 있는 것이다. 그리고 이러한 변형과 응용에 관계된 차이점들은 첨부된 청구 범위에서 규정하는 본 발명의 범위에 포함되는 것으로 해석되어야 할 것이다.In the above, the embodiment has been mainly described, but this is only an example and does not limit the present invention, and those of ordinary skill in the art to which the present invention pertains are not exemplified above in the range that does not depart from the essential characteristics of the present embodiment. It will be appreciated that various modifications and applications are possible. For example, each component specifically shown in the embodiment can be implemented by modification. And the differences related to these modifications and applications should be construed as being included in the scope of the present invention defined in the appended claims.
Claims (10)
컨테이너 업그레이드부가 상기 복수의 컨테이너의 업그레이드의 필요성을 확인하는 단계; 및
컨테이너 관리부가 상기 업그레이드의 필요성에 대응하여 상기 복수의 컨테이너에 대한 업그레이드를 수행하는 단계;를 포함하고,
상기 복수의 컨테이너는 시스템 초기화 및 관리를 공유하고,
상기 복수의 컨테이너의 업그레이드의 필요성을 확인하는 단계는,
상기 컨테이너 업그레이드부가 업그레이드 정보를 수신하는 단계;
상기 컨테이너 업그레이드부가 상기 업그레이드 정보와 상기 복수의 컨테이너의 업그레이드를 비교하는 단계;
상기 컨테이너 업그레이드부가 상기 업그레이드의 필요성을 결정하는 단계; 및
상기 업그레이드의 필요성이 존재하는 경우에 시스템 디렉터리에 대한 업그레이드 또는 사용자 데이터(personal data)에 대한 업그레이드인지 판단하는 단계;를 더 포함하고,
상기 복수의 컨테이너는 한번의 시스템 디렉터리 수신으로 시스템 디렉터리 업그레이드가 이루어지는 차량 가상화 구조 기반의 제어 방법.
booting, by the container controller, a plurality of containers;
determining, by a container upgrading unit, the necessity of upgrading the plurality of containers; and
performing, by a container manager, an upgrade on the plurality of containers in response to the need for the upgrade;
The plurality of containers share system initialization and management,
The step of confirming the necessity of upgrading the plurality of containers includes:
receiving, by the container upgrade unit, upgrade information;
comparing, by the container upgrading unit, the upgrade information with the upgrades of the plurality of containers;
determining, by the container upgrade unit, the need for the upgrade; and
Further comprising; if the need for the upgrade exists, determining whether it is an upgrade for a system directory or an upgrade for user data (personal data);
A vehicle virtualization structure-based control method in which the plurality of containers are upgraded to a system directory by receiving a system directory once.
상기 컨테이너 업그레이드부가 상기 업그레이드의 필요성이 없는 경우에 상기 복수의 컨테이너를 구동하는 단계;를 더 포함하는 차량 가상화 구조 기반의 제어 방법.
According to claim 1,
Driving the plurality of containers when the container upgrade unit does not require the upgrade; the vehicle virtualization structure-based control method further comprising a.
상기 시스템 디렉터리에 대한 업그레이드인 경우, 업그레이드인지 판단하는 단계 이후에,
상기 컨테이너 관리부가 사용자 인증을 수행하는 단계; 및
상기 컨테이너 관리부가 상기 시스템 디렉터리를 수신하는 단계;를 더 포함하는 차량 가상화 구조 기반의 제어 방법.
According to claim 1,
In the case of an upgrade to the system directory, after determining whether it is an upgrade,
performing user authentication by the container management unit; and
The container management unit receiving the system directory; Vehicle virtualization structure-based control method further comprising a.
상기 컨테이너 관리부가 상기 복수의 컨테이너를 재부팅하는 단계;를 더 포함하고,
상기 업그레이드의 필요성을 확인하는 단계로 돌아가는 차량 가상화 구조 기반의 제어 방법.
6. The method of claim 5,
Rebooting, by the container manager, the plurality of containers; further comprising,
A vehicle virtualization structure-based control method returning to the step of confirming the need for the upgrade.
상기 사용자 데이터에 대한 업그레이드인 경우 업그레이드인지 판단하는 단계 이후에,
상기 컨테이너 관리부가 최신의 사용자 데이터를 수신하는 단계; 및
상기 컨테이너 관리부가 상기 복수의 컨테이너를 구동하는 단계;를 더 포함하는 차량 가상화 구조 기반의 제어 방법.
According to claim 1,
After the step of determining whether the upgrade is an upgrade for the user data,
receiving, by the container management unit, the latest user data; and
Driving the plurality of containers by the container management unit; Vehicle virtualization structure-based control method further comprising a.
상기 복수의 컨테이너를 구동하는 단계 이후에,
상기 컨테이너 관리부가 상기 컨테이너와 연결된 디스플레이로 어플리케이션을 실행하는 단계;를 더 포함하는 차량 가상화 구조 기반의 제어 방법.
8. The method of claim 3 or 7,
After the step of driving the plurality of containers,
The control method based on the vehicle virtualization structure further comprising; executing, by the container manager, an application on a display connected to the container.
상기 복수의 컨테이너를 구동하는 단계에서,
상기 사용자 데이터 중 변경 디렉토리 카피하여 상기 복수의 컨테이너를 구동하는 차량 가상화 구조 기반의 제어 방법.
8. The method of claim 7,
In the step of driving the plurality of containers,
A vehicle virtualization structure-based control method for driving the plurality of containers by copying a change directory among the user data.
상기 공유된 시스템 초기화 및 관리는 커널(kernel), 디스트로(distro) 및 라이브러리(library)를 포함하는 차량 가상화 구조 기반의 제어 방법.
8. The method of claim 7,
The shared system initialization and management is a vehicle virtualization structure-based control method including a kernel, a distro, and a library.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200161585A KR102449979B1 (en) | 2020-11-26 | 2020-11-26 | Method and device for controlling system based on vehicle virtual structure |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200161585A KR102449979B1 (en) | 2020-11-26 | 2020-11-26 | Method and device for controlling system based on vehicle virtual structure |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20220073474A KR20220073474A (en) | 2022-06-03 |
KR102449979B1 true KR102449979B1 (en) | 2022-10-05 |
Family
ID=81983766
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200161585A KR102449979B1 (en) | 2020-11-26 | 2020-11-26 | Method and device for controlling system based on vehicle virtual structure |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102449979B1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102642234B1 (en) * | 2023-06-27 | 2024-03-04 | 주식회사 드림에이스 | Vehicle infotainment system supporting multi-connuction and method for supporting multi-connection thereof |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180121189A1 (en) | 2016-10-28 | 2018-05-03 | Parallels International Gmbh | System and method for upgrading operating system of a container using an auxiliary host |
JP2019101917A (en) | 2017-12-06 | 2019-06-24 | クラリオン株式会社 | Updating apparatus, and updating system |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20150069916A (en) * | 2013-12-16 | 2015-06-24 | 주식회사 지쓰리 | DTG Peristalsis and Upgrade system using mobile. |
KR102177407B1 (en) * | 2014-06-12 | 2020-11-11 | 현대모비스 주식회사 | An AVN system of a vehicle using a virtualization and an operating method of the AVN system |
KR20200019565A (en) * | 2018-08-14 | 2020-02-24 | 현대자동차주식회사 | Method and device for wirelessly updating software for vehicle |
-
2020
- 2020-11-26 KR KR1020200161585A patent/KR102449979B1/en active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180121189A1 (en) | 2016-10-28 | 2018-05-03 | Parallels International Gmbh | System and method for upgrading operating system of a container using an auxiliary host |
JP2019101917A (en) | 2017-12-06 | 2019-06-24 | クラリオン株式会社 | Updating apparatus, and updating system |
Also Published As
Publication number | Publication date |
---|---|
KR20220073474A (en) | 2022-06-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6507169B2 (en) | Vehicle with multiple user interface operating domains | |
US9021465B2 (en) | Downloading guest software updates by a hypervisor | |
US11042341B2 (en) | Integrated functionality of center display, driver display, and shared-experience display | |
US10552137B2 (en) | Method and apparatus for running mobile device software | |
US9324234B2 (en) | Vehicle comprising multi-operating system | |
US8909913B2 (en) | Method for integrating heterogeneous operating systems based on the same system kernel using a shared information area accessible to multiple operating systems | |
CN101297284B (en) | Rebootless display driver upgrades | |
US10860208B2 (en) | Multi-window display controller | |
US10891921B2 (en) | Separate operating systems for dashboard display | |
US20130254358A1 (en) | Systems And Methods For Extension Of Server Management Functions | |
US20090210689A1 (en) | Remote management of uefi bios settings and configuration | |
JP7043563B2 (en) | Expandable computing architecture for vehicles | |
US20200290530A1 (en) | Vehicle software control device | |
KR102449979B1 (en) | Method and device for controlling system based on vehicle virtual structure | |
US20240077998A1 (en) | Application compatibility on a computing device | |
US11977619B2 (en) | Method and device for controlling device based on vehicle virtual structure | |
KR102491361B1 (en) | Method and device for controlling system based on vehicle virtual structure | |
US20230367579A1 (en) | Method and apparatus for controlling virtualized vehicle structure-based system | |
Karthik et al. | Hypervisor based approach for integrated cockpit solutions | |
US20180349131A1 (en) | Windows support of a pluggable ecosystem for universal windows application stores | |
US20190347084A1 (en) | Method to Dynamically Create Plug and Play Identifiers in Firmware to Facilitate Deployment of Windows Services | |
US20230305879A1 (en) | Controller for a user interface of a motor vehicle, and method for operating a controller for a user interface | |
CN113792327B (en) | Authority management method, user interface and electronic equipment | |
CN111787065B (en) | Cloud desktop deployment method and cloud desktop system | |
JP2022114164A (en) | Device for vehicle, system for vehicle, and external device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |