WO2022163983A1 - 차량 가상화 구조 기반의 디바이스 제어 방법 및 장치 - Google Patents
차량 가상화 구조 기반의 디바이스 제어 방법 및 장치 Download PDFInfo
- Publication number
- WO2022163983A1 WO2022163983A1 PCT/KR2021/017039 KR2021017039W WO2022163983A1 WO 2022163983 A1 WO2022163983 A1 WO 2022163983A1 KR 2021017039 W KR2021017039 W KR 2021017039W WO 2022163983 A1 WO2022163983 A1 WO 2022163983A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- container
- vehicle
- determining
- control method
- type
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 56
- 238000007726 management method Methods 0.000 description 44
- 230000006870 function Effects 0.000 description 12
- 238000004590 computer program Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 239000013256 coordination polymer Substances 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Classifications
-
- 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/44—Program or device authentication
-
- 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
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60R—VEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
- B60R16/00—Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
- B60R16/02—Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements
- B60R16/023—Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements for transmission of signals between vehicle parts or subsystems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
-
- 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
-
- 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
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/40—Support for services or applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- 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
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
-
- 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
- G06F2009/45575—Starting, stopping, suspending or resuming virtual machine instances
-
- 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
- G06F2009/45579—I/O management, e.g. providing access to device drivers or storage
-
- 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
- G06F2009/45587—Isolation or security of virtual machine instances
-
- 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
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
Definitions
- An embodiment of the present invention relates to a device control method and apparatus based on a vehicle virtualization architecture.
- a plurality of devices exist in a vehicle, and a plurality of software for executing the devices exist.
- the degree of freedom for a user or a passenger in a vehicle to use a plurality of devices is increasing.
- the embodiment may provide a device control method and apparatus based on a vehicle virtualization structure that determines whether to use the device according to a device type and a container of a request.
- a device control method based on a vehicle virtualization structure includes: receiving a request for use of a device from at least one container among a plurality of containers; and determining the use of the device according to the type of the device and the type of the container that has transmitted the use request.
- the determining step is
- determining whether the type of the device is a public device and determining use for the device; and determining whether the type of the device is an individual device and determining a use for the device.
- It may include; confirming whether the container that has transmitted the request for use of the device is a container for performing vehicle operation, and determining the use of the device.
- the step of determining whether the type of the device is a public device and determining the use of the device may include reconfirming whether the device is a network device among public networks when the type of the device is a public device; and determining the shared use of the device when the device is the network device.
- the step of determining whether the type of the device is a public device and the use of the device may include: reconfirming whether the device is a media device in a public network when the type of the device is a public device; and when the device is the media device, determining the use of the device according to a usage policy of the device.
- the step of determining whether the type of the device is an individual device and determining the use of the device may include reconfirming whether the device is in use when the type of the device is an individual device; It may include; disconnecting the connection of the device already in use when the device is in use.
- It may further include; after the releasing step, re-performing the re-confirming step.
- the reconfirming may include determining individual use of the device when the device is not in use.
- the step of determining whether the container that has transmitted the request for use of the device is a container for performing vehicle operation and determining the use of the device may include: It may include; determining the use for the device.
- the determining may include determining to disallow use of the device when the container that has transmitted the request for use of the device is not a container for performing vehicle operation.
- the embodiment may implement a device control method and apparatus based on a vehicle virtualization structure that determines whether to use the device according to a device type and a request container.
- FIG. 1 is a conceptual diagram of a system based on a vehicle virtualization structure according to an embodiment
- FIG. 2 is a detailed block diagram of a system based on a vehicle virtualization structure according to an embodiment
- FIG. 3 is a flowchart of a device control method based on a vehicle virtualization structure according to an embodiment
- FIG. 5 is a flowchart for a common device in a device control method based on a vehicle virtualization structure according to an embodiment
- FIG. 6 is a flowchart for an individual device in a device control method based on a vehicle virtualization structure according to an embodiment
- FIG. 7 is a flowchart for determining use when there is a use request from a container performing vehicle operation in a device control method based on a vehicle virtualization structure according to an embodiment.
- 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.
- 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.
- An embodiment of the present disclosure relates to a vehicle streaming control apparatus and control method for a vehicle, vehicle infotainment, etc.
- an application 'app', 'application', application in the same sense
- the vehicle infotainment and The content is to provide an integrated system environment.
- these contents do not limit the rights of this patent.
- an important function related to vehicle control is performed while providing a vehicle infotainment function.
- 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.
- 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.
- 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 playback, video playback, and game execution, access to the vehicle occupants including the driver. and operation can be made easily.
- FIG. 1 is a conceptual diagram of a system based on a vehicle virtualization structure according to an embodiment
- FIG. 2 is a detailed block diagram of a system based on a vehicle virtualization structure according to an embodiment.
- a system based on a vehicle virtualization structure includes hardware (not shown), a base operating system 10 mounted on hardware (not shown), and a base operating system 10 . It is mounted on the first virtual engine 20a and the second virtual engine 20b mounted thereon, at least one operating system 30a to 30f mounted on each virtual engine, and at least one operating system 30a to 30f.
- a software set including middleware and important applications, a plurality of operating system platforms 40a to 40f, a plurality of applications 50a to 50d running on the operating system platforms 40a to 40f, a plurality of operating system platforms 40a to 40f, or a plurality of It may include a container manager (CM) that manages environments for the plurality of operating systems 30a to 30d on the plurality of displays 60a to 60f and virtual engines 20a to 20b for outputting applications of .
- CM container manager
- At least one operating system will be described below as a 'container'.
- hardware may be a concept including a processor, a display unit, a storage unit, a memory unit, a control unit, and an I/O device.
- the driving unit CP is a system area mounted or driven on the first virtual engine 20a
- the infotainment unit IP, Infotainment Platform
- the infotainment unit IP, Infotainment Platform
- It may be a system area mounted or driven on the virtual engine 20b. Due to this configuration, even if an upgrade or other malfunction occurs in the infotainment unit IP, the driving unit CP may not be affected. That is, the influence while driving can be minimized.
- a web platform unit may be mounted or driven on the base operating system 10 and the additional virtual engine 20 .
- the platform unit (Web Platform) may share the container manager with the infotainment unit (IP).
- the platform unit (Web Platform) may be configured as a part of the infotainment unit (IP).
- the platform unit 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 (
- the AGL 40 may include a plurality of applications (eg, web applications 50 ) running on the operating system platform 40 .
- the base operating system 10 may be, for example, various operating systems.
- the base operating system 10 may include Linux, a hypervisor, QNX, GENIVI, and the like.
- the first virtual engine 20a and the second virtual engine 20b are middleware solutions or various platforms, and may be developed in mobile and C language.
- the first virtual engine 20a and the second virtual engine 20b may provide a plurality of built-in libraries, and may perform the same operation in various mobile terminals.
- the first virtual engine 20a and the second virtual engine 20b may be a Linux-based Android kernel, and may initialize memory protection, a virtual memory module, and schedule caching.
- the at least one container 30a to 30d may be mounted on the second virtual engine 20a and not mounted on the first virtual engine 20a. Accordingly, since security for the driving unit CP is improved, driving stability may also be improved.
- At least one container 30a to 30d may be a schedule of process virtualization as a form of a virtualization method in an embodiment.
- virtualization technology using containers divides the inside of the host OS (operating system) into a kernel space that manages physical resources and a user space that executes a user process, that is, an application program (application, application, APP), and divides the user space into a user space. It may refer to a technology for allocating and sharing hardware resources used in each user process by dividing it into several pieces.
- the containers 30a to 30d may convert the called library to be interfaced with the system library, thereby performing connection or compatibility between the base operating system and a plurality of operating system platforms.
- the plurality of operating system platforms 40a to 40f may be mounted on a container.
- the plurality of operating system platforms 40a to 40f may include Android, Automotive Grade Linux (AGL), a web platform, a cluster platform, a head-up display (HUD) platform, and the like.
- the at least one application 50a to 50d is an application program other than a system program, and is performed in an AVN (Audio Video Navigation), a Co-Driver, and a RSE (Rear Seat Entertainment) in a vehicle, and below, AVN It will be described by referring to and the like.
- AVN Audio Video Navigation
- Co-Driver Co-Driver
- RSE Rear Seat Entertainment
- the plurality of displays 60a to 60f may display the operating system platform 40a to 40f or an application program on the platform to a user (eg, a passenger).
- the plurality of displays 60a to 60f may include various display devices (eg, OLEDs).
- the container manager CM may manage environments for the plurality of operating systems 30a to 30d on the virtual engines 20a to 20b. That is, the container management unit CM may perform resource allocation for containers, streaming connection, update, display output, connection with the output unit, and the like, for example, of the plurality of operating systems 30a to 30d . A detailed description thereof will be given later.
- 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 .
- 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.
- 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.
- 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.
- the container policy management unit M1-3 may include information on priorities allocated to dedicated cores among the aforementioned containers.
- 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.
- 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.
- 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).
- a plurality of containers may share system initialization and management.
- a plurality of containers may share rootfs.
- 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.
- the upgrade for each container may also be performed using only the change directory. For example, each display device can be effectively upgraded.
- 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.
- 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.
- 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.
- the container upgrade unit CM2 may include an update and confirmation management unit M2-1 and an authentication management unit M2-2.
- 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.
- the authentication management unit M2-2 may perform authentication and version comparison for each vehicle and container in order to perform the update.
- the container state management unit CM3 may manage the states of a plurality of containers, such as checking whether the container operates normally.
- the container state management unit CM3 may include a state management unit M3-1 and a log management unit M3-2.
- the state management unit M3 - 1 may check whether the container and functions of the container management unit operate normally through periodic monitoring.
- 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.
- 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.
- 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.
- 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.
- the container bridge unit CM5 may include a communication channel manager M5-1 and a device control manager M5-2.
- the communication channel manager M5 - 1 may manage communication with each container 50 on the container manager CM.
- the device control manager M5 - 2 may control input/output (I/O) between each container and the device DV.
- I/O input/output
- a device control method based on a vehicle virtualization structure which will be described later, may be performed by the device control management unit M5-2.
- the device control management unit M5-2 may request that a user (eg, a passenger) drive or operate an application on a specific container through a user interface, etc., and use an in-vehicle device such as Wi-Fi according to the driving or operation. can respond to That is, the device control management unit M5 - 2 may determine whether to use the in-vehicle device when requesting the use of the in-vehicle device from each container in the vehicle virtualization structure.
- the operation process or result may be provided to the user through an output device such as audio (eg, a speaker).
- an output device such as audio (eg, a speaker).
- the in-vehicle device includes Wi-Fi, Bluetooth, GPS, and a microphone ), a speaker, a camera, storage, and the like.
- each element described in the drawings is an example, and will be described below based on this.
- FIG. 3 is a flowchart for a device control method based on a vehicle virtualization structure according to an embodiment
- FIG. 4 is a detailed flowchart of the determining step in a device control method based on a vehicle virtualization structure according to an embodiment
- FIG. 5 is an embodiment A flowchart for a common device in a device control method based on a vehicle virtualization structure according to
- FIG. 6 is a flowchart for an individual device in a device control method based on a vehicle virtualization structure according to an embodiment
- FIG. 7 is a vehicle virtualization according to an embodiment
- the structure-based device control method when there is a request for use from a container performing vehicle operation, it is a flowchart for determining use.
- the method for controlling a device based on a vehicle virtualization structure includes receiving a request for use of a device from at least one container among a plurality of containers ( S1100 ) and transmitting the type and use request of the device. It may include determining the use of the device according to the type of container ( S1200 ). In this case, in the system and apparatus based on the vehicle virtualization structure according to the embodiment, control or management of device use for a plurality of containers may be made. In addition, the description of the device control method based on the vehicle virtualization structure according to the embodiment below may be performed by the above-described container management unit, in particular, the device control management unit of the container bridge unit.
- a user may provide a request for use of a specific device to the above-described container bridge unit through a container by using or manipulating an application.
- the container bridge unit may receive a use request for the device.
- the container bridge unit may receive a use request for a specific device through a container of AVN, RSE, or Co-drive.
- the content of determining (permit to use) the use of the device in response to the use request will be described.
- the step of determining the use of the device according to the type of the device and the type of the container that has transmitted the request for use is to determine whether the type of the device is a public device and determine the use of the device. Determining (S1210), determining whether the type of device is an individual device, determining the use of the device (S1220), and checking whether the container that has transmitted the request for use of the device is a container performing vehicle operation It may include a step of determining the use (S1230).
- the container bridge unit may determine whether the type of device is a public device and then determine the use of the device according to the check result ( S1210 ).
- the permission method may be different depending on whether it is a network device or a media device among public devices.
- the type of device when the type of device is not a common device, it may be checked whether the device is an individual device and use of the device may be determined ( S1220 ). In particular, in the case of an individual device, it is possible to check whether the individual device is used in another container and allow the use of the individual device thereafter.
- the type of device is not a common device and an individual device, it is possible to determine whether the device is a container for performing vehicle operation and determine the use of the device ( S1230 ).
- the step (S1210) of determining whether the device type is a public device and determining whether the device is a public device includes the step (S1211) of checking whether the device type is a public device and reconfirming whether the device type is a network device among the public networks. It may include step S1212.
- the device that is the target of the use request is a public device ( S1211 ). If the device of the use request is not a public device, it may be checked whether the device is an individual device and use of the device may be determined (S1220).
- the container can use network devices such as Wifi, LTE, and GPS.
- the network device forms a network for all users, that is, all containers in the vehicle, each container can use the network.
- GPS information may be transmitted in a broadcast manner.
- WIfi it may be provided to each container through a network hub.
- human machine interaction (HMI) installation may be performed in each container. For example, the installation of human machine interaction (HMI) in a cluster or AVN can improve system stability.
- the device type is not a common device (corresponding to a common device)
- it may be checked whether the device type is an individual device and use of the device may be determined (S1220).
- Checking whether the type of device is a public device and determining the use of the device includes reconfirming whether the type of device is a media device among public networks if the type of device is a public device (S1212) and if the device is a media device, the device It may include a; determining the use of the device according to the use policy of the (S1214).
- the media device may include storage, audio, and the like. Accordingly, each container may be permitted to be used according to the use policy of the media device. For example, when a request for use of storage is received from a plurality of containers at the same time, use of the same storage (same file) may be performed according to a preset priority. For example, AVN, RSE, Co-drive, and the order of priority may be set. In contrast, when a request for use of storage from a plurality of containers is not for the same storage (same file), permission for use may be made at the same time.
- a preset priority For example, AVN, RSE, Co-drive, and the order of priority may be set.
- the output may be mixed.
- mix or independent output may be performed by receiving a selection for mix or independent output.
- the step of determining whether the type of device is an individual device and determining the use for the device is a step of checking whether the device is an individual device (S1221), and if the type of the device is an individual device, reconfirming whether the device is in use ( S1223 ) and, if the device is in use, releasing the connection of the device that is already in use ( S1223 ).
- step (S1224) of the device control method based on the vehicle virtualization structure according to the embodiment when the device is not in use, it may include a step (S1225) of determining individual use of the device.
- the device may be checked whether the device is an individual device ( S1221 ), and if the device of the use request is not a public device and an individual device, it may be checked whether a container for performing vehicle operation and use of the device may be determined ( S1230 ).
- the device of the use request is an individual device, it may be checked whether there is a container in use (S1222). At this time, if there is a container in use for an individual device, the connection of the container in use may be released (S1223). In this case, the disconnection may be performed without conditions according to the priority. Also, when a specific condition is satisfied according to the priority, the connection may be disconnected. For example, AVN, RSE, Co-drive, and the order of priority may be set. In addition, when the high priority application or container (the container in which the application is executed) is the container being used, consent to release the connection is required. It should be understood that in this specification a use request is described as an AVN, RSE, etc. or a container.
- the above-mentioned consent may be made by a user's preset input (eg, touch). Contrary to this, when an application or container (a container in which an application is executed) with a low priority is a container being used, the connection may be disconnected without consent.
- a user's preset input eg, touch
- confirming whether the container that transmitted the request for use of the device is a container for performing vehicle operation and determining the use of the device is that the container that transmitted the request for use of the device performs vehicle operation. It may include; confirming whether the container is performing (S1231), and determining the use of the device when the container that has transmitted the request for use of the device is a container for performing vehicle operation (S1232).
- confirming that the container that has transmitted the request for use of the device is a container for performing vehicle operation and determining the use of the device is that the container that has transmitted the request for use of the device performs vehicle operation. It may include checking whether the container is a container (S1231), and determining to disallow the use of the device if the container that has transmitted the request for use of the device is not a container for performing vehicle operation (S1233). According to this configuration, it is possible to determine the use of a device from a container (cluster or AVN) performing vehicle operation, thereby minimizing driving disturbance.
- 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.
- 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.
- control device may include a processor and a memory.
- processor may perform various functions by executing computer-executable instructions (modules) stored in the memory.
- the processor may perform each step or function of the above-described virtualization structure-based device control method by executing computer executable instructions stored in the memory.
- various embodiments of the present disclosure may be implemented as software including instructions that may be stored in a machine-readable storage medium (eg, a computer).
- a machine may be a device capable of calling a stored command from a storage medium and operating according to the called command.
- the processor may perform a function corresponding to the instruction by using other components directly or under the control of the processor.
- Instructions may include code generated or executed by a compiler or interpreter.
- the above-described controlling method may be executed by executing instructions stored in the storage medium by the processor.
- the device-readable storage medium may be provided in the form of a non-transitory storage medium.
- 'non-transitory' means that the storage medium does not include a signal and is tangible, and does not distinguish that data is semi-permanently or temporarily stored in the storage medium.
- the method according to various embodiments disclosed in this document may be provided by being included in a computer program product.
- Computer program products may be traded between sellers and buyers as commodities.
- the computer program product may be distributed in the form of a device-readable storage medium (eg compact disc read only memory (CD-ROM)) or online through an application store (eg Play Store?, App Store?). have.
- a device-readable storage medium eg compact disc read only memory (CD-ROM)
- an application store eg Play Store?, App Store?
- at least a portion of the computer program product may be temporarily stored or temporarily generated in a storage medium such as a memory of a server of a manufacturer, a server of an application store, or a relay server.
- vehicle virtualization structure-based device control method and apparatus described in this embodiment may be implemented as a computer program stored in a computer-implementable storage medium.
- 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.
- '-part' is not limited to software or hardware.
- ' ⁇ unit' may be configured to reside on an addressable storage medium or may be configured to refresh one or more processors.
- ' ⁇ ' denotes components such as software components, object-oriented software components, class components, and task components, and processes, functions, properties, and procedures.
- components and ' ⁇ units' may be combined into a smaller number of components and ' ⁇ units' or further separated into additional components and ' ⁇ units'.
- components and ' ⁇ units' may be implemented to play one or more CPUs in a device or secure multimedia card.
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Mechanical Engineering (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Hardware Design (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Fittings On The Vehicle Exterior For Carrying Loads, And Devices For Holding Or Mounting Articles (AREA)
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
Abstract
실시예는 복수의 컨테이너 중 적어도 하나의 컨테이너로부터 디바이스에 대한 사용 요청을 수신하는 단계; 및 상기 디바이스의 종류와 상기 사용 요청을 송신한 컨테이너의 종류에 따라 상기 디바이스의 사용을 판단하는 단계;를 포함하는 차량 가상화 구조 기반의 디바이스 제어 방법을 개시한다.
Description
본 발명은 실시예는 차량 가상화 구조 기반의 디바이스 제어 방법 및 장치에 관한 것이다.
차량은 보다 높은 수준의 전산화로 점차 이동하고 있다. 대부분의 차량 작업, 기능 및 작업은 현재 컴퓨터 제어 중이거나 전산 장치로 모니터링될 수 있다. 다시 말해, 디지털 시대가 도래함에 따라 소비자들은 휴대폰과 테블릿 컴퓨터 사이와 유사한 수행을 차량 내에서도 수행할 수 있다. 예컨대, 터치 및 햅틱 피드백, 자연 언어 음성 상호 작용, 근접 감지 및 버튼 및 컨트롤을 갖춘 지능형 사용자 인터페이스가 있는 차량용 인포테인먼트 시스템이 현재 각광받고 있다. 이에, 차량 내의 정보, 통신 내비게이션, 동시에 엔터테인먼트를 간소화하고 운전 사용에 맞게 조정하고 있다.
이러한 기술 상황에 맞춰, 차량 내에는 복수의 디바이스가 존재하며, 디바이스를 실행하는 소프트웨어도 다수 존재한다. 또한, 차량에서 사용자 또는 탑승자는 복수의 디바이스에 사용 자유도가 증가하고 있다.
다만, 차량 내에서 디바이스 사용에 대한 요청이 증가하는 반면 디바이스 사용에 따른 차량 시스템 내 디바이스 제어 처리에 대한 기준이 모호하고, 디바이스 제어로 인한 주행의 위험도가 증가해지는 문제점이 있다.
실시예는 디바이스 종류와 요청의 컨테이너에 따라 사용 여부를 결정하는 차량 가상화 구조 기반의 디바이스 제어 방법 및 장치를 제공할 수 있다.
또한, 차량 내 사용자 맞춤형 차량 가상화 구조 기반의 디바이스 제어 방법 및 장치를 제공할 수 있다.
또한, 주행 방해가 제거된 차량 가상화 구조 기반의 디바이스 제어 방법 및 장치를 제공할 수 있다.
실시예에서 해결하고자 하는 과제는 이에 한정되는 것은 아니며, 아래에서 설명하는 과제의 해결수단이나 실시 형태로부터 파악될 수 있는 목적이나 효과도 포함될 수 있다고 할 것이다.
실시예에 따른 차량 가상화 구조 기반의 디바이스 제어 방법은 복수의 컨테이너 중 적어도 하나의 컨테이너로부터 디바이스에 대한 사용 요청을 수신하는 단계; 및 상기 디바이스의 종류와 상기 사용 요청을 송신한 컨테이너의 종류에 따라 상기 디바이스의 사용을 판단하는 단계;를 포함한다.
상기 판단하는 단계는,
상기 디바이스의 종류가 공용 디바이스인지 확인하고 상기 디바이스에 대한 사용을 결정하는 단계; 및 상기 디바이스의 종류가 개별 디바이스인지 확인하고 상기 디바이스에 대한 사용을 결정하는 단계;를 포함할 수 있다.
상기 디바이스에 대한 사용 요청을 송신한 컨테이너가 차량 운행을 수행하는 컨테이너인지 확인하고 상기 디바이스에 대한 사용을 결정하는 단계;를 포함할 수 있다.
상기 디바이스의 종류가 공용 디바이스인지 확인하고 상기 디바이스에 대한 사용을 결정하는 단계는, 상기 디바이스의 종류가 공용 디바이스인 경우 공용 네트워크 중 네트워크 디바이스인지 재확인하는 단계; 및 상기 디바이스가 상기 네트워크 디바이스인 경우 상기 디바이스의 공유 사용을 결정하는 단계;를 포함할 수 있다.
상기 디바이스의 종류가 공용 디바이스인지 확인하고 상기 디바이스에 대한 사용을 결정하는 단계는, 상기 디바이스의 종류가 공용 디바이스인 경우 공용 네트워크 중 미디어 디바이스인지 재확인하는 단계; 및 상기 디바이스가 상기 미디어 디바이스인 경우 상기 디바이스의 사용 정책에 따라 상기 디바이스의 사용을 결정하는 단계;를 포함할 수 있다.
상기 디바이스의 종류가 개별 디바이스인지 확인하고 상기 디바이스에 대한 사용을 결정하는 단계는, 상기 디바이스의 종류가 개별 디바이스인 경우 상기 디바이스가 사용 중인지 재확인하는 단계; 상기 디바이스가 사용 중인 경우 기 사용중인 디바이스의 연결을 해제하는 단계;를 포함할 수 있다.
상기 해제하는 단계 이후에 하고 상기 재확인하는 단계를 재수행하는 단계;를 더 포함할 수 있다.
상기 재확인하는 단계는, 상기 디바이스가 사용 중이 아닌 경우 상기 디바이스에 대한 개별 사용을 결정하는 단계;를 포함할 수 있다.
상기 디바이스에 대한 사용 요청을 송신한 컨테이너가 차량 운행을 수행하는 컨테이너인지 확인하고 상기 디바이스에 대한 사용을 결정하는 단계는, 상기 디바이스에 대한 사용 요청을 송신한 컨테이너가 차량 운행을 수행하는 컨테이너인 경우 상기 디바이스에 대한 사용을 결정하는 단계;를 포함할 수 있다.
상기 결정하는 단계는, 상기 디바이스에 대한 사용 요청을 송신한 컨테이너가 차량 운행을 수행하는 컨테이너가 아닌 경우 상기 디바이스에 대한 사용을 불허 결정하는 단계;를 포함할 수 있다.
실시예는 디바이스 종류와 요청의 컨테이너에 따라 사용 여부를 결정하는 차량 가상화 구조 기반의 디바이스 제어 방법 및 장치를 구현할 수 있다.
또한, 차량 내 사용자 맞춤형 차량 가상화 구조 기반의 디바이스 제어 방법 및 장치를 구현할 수 있다.
또한, 주행 방해가 제거된 차량 가상화 구조 기반의 디바이스 제어 방법 및 장치를 구현할 수 있다.
본 발명의 다양하면서도 유익한 장점과 효과는 상술한 내용에 한정되지 않으며, 본 발명의 구체적인 실시형태를 설명하는 과정에서 보다 쉽게 이해될 수 있을 것이다.
도 1은 실시예에 따른 차량 가상화 구조 기반의 시스템의 개념도이고,
도 2는 실시예에 따른 차량 가상화 구조 기반의 시스템의 구체적인 블록도이고,
도 3은 실시예에 따른 차량 가상화 구조 기반의 디바이스 제어 방법에 대한 순서도이고,
도 4는 실시예에 따른 차량 가상화 구조 기반의 디바이스 제어 방법에서 판단하는 단계의 구체화된 순서도이고,
도 5는 실시예에 따른 차량 가상화 구조 기반의 디바이스 제어 방법에서 공용 디바이스에 대한 순서도이고,
도 6은 실시예에 따른 차량 가상화 구조 기반의 디바이스 제어 방법에서 개별 디바이스에 대한 순서도이고,
도 7은 실시예에 따른 차량 가상화 구조 기반의 디바이스 제어 방법에서 차량 운행을 수행하는 컨테이너로부터 사용 요청이 있는 경우 사용 결정에 대한 순서도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제2, 제1 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 구성요소들은 용어들에 의해 한정되지는 않는다. 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제2 구성요소는 제1 구성요소로 명명될 수 있고, 유사하게 제1 구성요소도 제2 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부된 도면을 참조하여 실시예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 대응하는 구성 요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
본 개시의 실시예는 차량, 차량 인포테인먼트 등을 위한 차량 스트리밍 제어 장치 및 제어 방법에 관한 것으로, 애플리케이션(동일한 의미로 '앱', '어플리케이션', application) 등을 차량에서 이용함에 있어서, 차량 인포테인먼트와 접목한 시스템 환경을 제공하는 것을 내용으로 한다. 다만, 이러한 내용이 본 특허의 권리를 한정하는 것은 아니다.
보다 상세히 서술하면, 차량용 시스템의 경우 차량용 인포테인먼트 기능을 제공하는 것과 동시에 차량의 제어에 관련된 중요한 기능을 수행하고 있다. 여기서 차량의 제어에 관련된 기능이라 함은 사용자의 차량 조작에 영향을 주는 네 비게이션 시스템 등을 포함하는 애플리케이션부터 차량의 속도나 RPM 등을 표시하는 계기 판을 뜻하는 클러스터 시스템, 자율제어 차량의 자율제어 시스템과 같이 탑승자의 생명에 관련된 중요한 기능까지도 포함한다. 그리고 이러한 애플리케이션의 디스플레이는 자유롭게 이루어지되, 차량 제어 등 주행에 방해가 발생하면 안된다. 즉, 차량 주행에 대한 보호는 필수적으로 지켜져야 한다. 이러한 보호가 이루어지지 않을 경우, 사고가 발생할 수도 있다. 따라서, 본 발명의 바람직한 실시예에서는 주행을 방해하지 않는 범위 내에서 차량 내의 스트리밍이 수행되어, 오디오 재생, 비디오 재생, 게임 실행 등과 같이 엔터테인먼트에 관련된 서비스, 애플리케이션이 운전자를 포함한 차량의 탑승자에 대한 접근 및 조작이 용이하게 이루어질 수 있다.
도 1은 실시예에 따른 차량 가상화 구조 기반의 시스템의 개념도이고, 도 2는 실시예에 따른 차량 가상화 구조 기반의 시스템의 구체적인 블록도이다.
도 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)'로 설명한다.
여기서, 하드웨어(미도시됨)는 프로세서, 표시부, 저장부, 메모리부, 컨트롤부, I/O 장치를 포함하는 개념일 수 있다.
실시예에서, 주행부(CP)는 제1 가상엔진(20a) 상에서 탑재 또는 구동되는 시스템 영역이고, 인포테인먼트부(IP, Infotainment Platform)는 제1 가상엔진(20a)과 이종의 가상엔진인 제2 가상엔진(20b) 상에서 탑재 또는 구동되는 시스템 영역일 수 있다. 이러한 구성에 의하여, 인포테인먼트부(IP) 내에서 업그레이드 또는 기타 오작동이 발생하더라도, 주행부(CP)는 이에 대한 영향을 받지 않을 수 있다. 즉, 주행 중 영향이 최소화될 수 있다. 나아가, 인포테인먼트부(IP) 이외에 웹 플랫폼부(Web Platform)이 베이스 운영 체제(10) 및 추가 가상 엔진(20) 상에서 탑재 또는 구동될 수 잇다. 인포테인먼트부(IP)와 마찬가지로 플랫폼부(Web Platform)는 컨테이너 관리자를 인포테인먼트부(IP)와 공유할 수 있다. 또는 플랫폼부(Web Platform)는 인포테인먼트부(IP)의 일부로 구성될 수 있다. 이하에서는 개별적인 구성으로 설명한다.
플랫폼부(Web Platform)는 인포테인먼트부(IP)와 같이 컨테이너 관리부에 탑재된 하나의 운영체제(예로, 컨테이너, 30), 운영체제 상에 탑재되고 미들웨어 및 중요 애플리케이션이 포함된 소프트웨어 집합으로 복수의 운영체제 플랫폼(예로, AGL, 40), 운영체제 플랫폼(40)에서 구동되는 복수의 애플리케이션(예로, 웹어플리케이션, 50)을 포함할 수 있다.
먼저, 베이스 운영 체제(10)는 예를 들어 다양한 운영체제일 수 있다. 예컨대, 베이스 운영 체제(10)는 리눅스(linux), 하이퍼바이저(hypervisor), QNX, GENIVI 등을 포함할 수 있다.
예를 들어, 제1 가상엔진(20a)과 제2 가상엔진(20b)은 미들웨어 솔루션 또는 다양한 플랫폼으로서, 모바일 C 언어로 개발될 수 있다. 제1 가상엔진(20a)과 제2 가상엔진(20b)은 다수의 내장 라이브러리를 제공할 수 있으며, 다양한 이동 단말기 등에서 동일한 동작을 수행할 수도 있다. 예컨대, 제1 가상엔진(20a)과 제2 가상엔진(20b)은 리눅스 기반의 안드로이드 커널일 수 있으며, 메모리 보호, 가상 메모리 모듈 및 스케줄 캐싱을 초기화할 수도 있다.
또한, 적어도 하나의 컨테이너(30a 내지 30d)는 제2 가상엔진(20a) 상에 탑재되고 제1 가상엔진(20a) 상에 탑재되지 않을 수 있다. 이에, 주행부(CP)에 대한 보안성이 향상되므로, 주행 안정성도 개선될 수 있다.
적어도 하나의 컨테이너(30a 내지 30d)는 실시예로 가상화 방식의 일 형태로서 프로세스 가상화의 일정일 수 있다. 예컨대, 컨테이너를 이용한 가상화 기술은 호스트 OS(operating system) 내부를 물리적 자원을 관리하는 커널 공간과 사용자 프로세스, 즉 응용 프로그램(어플레케이션, application, APP)을 실행하는 사용자 공간으로 구분하고 사용자 공간을 여러 개로 나누어 각각의 사용자 프로세스에서 사용되는 하드웨어 자원을 할당하고 공유하는 기술을 의미할 수 있다. 예컨대, 컨테이너(30a 내지 30d)는 호출된 라이브러리를 시스템 라이브러리와 인터페이스되도록 변환하여, 베이스 운영체제와 복수의 운영체제 플랫폼 간의 연결 또는 호환을 수행할 수 있다.
복수의 운영체제 플랫폼(40a 내지 40f)은 컨테이너 상에 탑재될 수 있다. 복수의 운영체제 플랫폼(40a 내지 40f)는 안드로이드, AGL(Automotive Grade Linux), 웹 (web)플랫폼, 클러스터(cluster) 플랫폼, 헤드업 디스플레이(HUD) 플랫폼 등을 포함할 수 있다.
적어도 하나의 애플리케이션(50a 내지 50d)은 시스템 프로그램을 제외한 응용 프로그램으로써, 차량 내에서는 AVN(Audio Video Navigation), 코-드라이버(Co-Driver), RSE(Rear Seat Entertainment) 등에서 수행되고, 이하에서는 AVN 등으로 지칭하여 설명한다.
복수의 디스플레이(60a 내지 60f)는 운영체제 플랫폼(40a 내지 40f) 또는 플랫폼 상의 응용 프로그램 등을 사용자(예로, 탑승자)에게 표시할 수 있다. 예컨대, 복수의 디스플레이(60a 내지 60f)는 다양한 표시 장치(예로, OLED)를 포함할 수 있다.
컨테이너 관리부(CM)는 가상엔진(20a 내지 20b) 상에서 복수의 운영체제(30a 내지 30d)에 대한 환경을 관리할 수 있다. 즉, 컨테이너 관리부(CM)는 복수의 운영체제(30a 내지 30d) 예로, 컨테이너에 대한 자원 할당, 스트리밍 연결, 업데이트, 디스플레이 출력 담당, 출력부와 연결 등을 수행할 수 있다. 이에 대한 자세한 설명은 후술한다.
구체적으로, 컨테이너 관리부(CM)는 컨테이너 제어부(CM1), 컨테이너 업그레이드부(CM2), 컨테이너 상태관리부(CM3), 웹 플랫폼 컨테이너 관리부(CM4), 컨테이너 브리지부(CM5)를 포함할 수 있다.
컨테이너 제어부(CM1)는 컨테이너에 할당되는 시스템 자원, 자원 정책, 스트리밍 제어 관련, 디스플레이로 출력 관련, 파일 시스템 관리 등을 수행할 수 있다.
이러한 컨테이너 제어부(CM1)는 컨테이너 리소스 관리부(M1-1), 디스플레이 제어부(M1-2), 컨테이너 정책 관리부(M1-3), 컨테이너 파일 시스템 관리부(M1-4), 컨테이너 스트리밍 관리부(M1-5) 및 오디오 정책 및 제어 관리부(M1-6)를 포함할 수 있다.
컨테이너 리소스 관리부(M1-1)는 컨테이너에 할당되는 시스템 자원을 동적으로 할당할 수 있다. 예컨대, 컨테이너 리소스 관리부(M1-1)는 자원 사용량을 수집하여 자원 부족으로 인한 QoS 성능저하를 예방할 수 있다. 예를 들어, 컨테이너 리소스 관리부(M1-1)는 기설정된 컨테이너의 우선순위, 자원사용량 임계값 및 모니터링 감시 주기를 이용하여 전용코어에 할당되는 컨테이너를 설정할 수 있다.
컨테이너 정책 관리부(M1-3)는 상술한 컨테이너 중 전용코어에 할당되는 우선순위에 대한 정보를 포함할 수 있다.
디스플레이 제어부(M1-2)는 복수의 디스플레이 각각의 동작을 담당하는 컨테이너 들이 차량 내의 각 디스플레이에 화면을 출력하도록 관리할 수 있다.
컨테이너 파일 시스템 관리부(M1-4)는 복수의 컨테이너 환경에서 각 컨테이너의 동작에 필요한 파일들을 체계적이고 효율적으로 관리할 수 있다. 예컨대, 컨테이너 파일 시스템 관리부(M1-4)는 후술하는 바와 같이 어느 하나의 파일 시스템 예로 컨테이너의 파일 시스템을 다른 하나의 컨테이너 파일 시스템으로 오버레이할 수 있다. 이에, 사용자(복수의 탑승자)는 컨테이너와 같은 파일 시스템을 다른 사용자 또는 다른 위치(예로, 좌석)에서 용이하게 공유할 수 있다.
즉, 실시예에 따른 차량 가상화 구조 기반의 시스템에서 복수의 컨테이너는 시스템 초기화 및 관리를 공유할 수 있다. 예를 들어, 실시예에 따른 차량 가상화 구조 기반의 시스템에서 복수의 컨테이너는 rootfs를 공유할 수 있다. 그리고 각 운영체제 즉 컨테이너는 별도 변경 디렉토리를 저장 또는 복사(카피)하여 디스크 등의 자원이 효율적으로 이용될 수 있다. 나아가, 각 컨테이너 별 업그레이드도 변경 디렉토리만을 이용하여 수행될 수 있다. 예를 들어, 각 디스플레이 장치가 효과적으로 업그레이드될 수 있다.
컨테이너 스트리밍 관리부(M1-5)는 각 디스플레이에서 출력되는 영상의 이동 등을 관리할 수 있다. 즉, 컨테이너 스트리밍 관리부(M105)는 주행부와 인포테인먼트부 나아가, 디스플레이 각각의 정책에 따라 스트리밍 가능 여부를 판단할 수 있다.
오디오 정책 및 제어 관리부(M1-6)는 적어도 하나의 컨테이너 간의 오디오 출력에 대한 정책을 반영하여 오디오 출력을 제어할 수 있다. 이에 대한 자세한 설명은 후술한다.
컨테이너 업그레이드부(CM2)는 복수의 운영체제로 이루어진 인포테인먼트부의 각 운영체제 별로 업그레이드를 수행할 수 있다. 예컨대, 컨테이너 업그레이드부(CM2)는 컨테이너로 구성된 인포테인먼트부의 각 컨테이너를 용이하게 업그레이드할 수 있다.
컨테이너 업그레이드부(CM2)는 업데이트 및 확인 관리부(M2-1) 및 인증 관리부(M2-2)를 포함할 수 있다.
업데이트 및 확인 관리부(M2-1)는 복수의 컨테이너 중 업데이트가 필요한 컨테이너를 위한 컨테이너 별 식별자 및 업데이트 후 정상 동작 확인을 수행할 수 있다.
인증 관리부(M2-2)는 업데이트를 수행하기 위해 차량 및 컨테이너 별 인증, 버전 비교를 수행할 수 있다.
컨테이너 상태관리부(CM3)는 컨테이너의 정상 동작 여부에 대한 확인 등 복수의 컨테이너 상태를 관리할 수 있다.
컨테이너 상태관리부(CM3)는 상태 관리부(M3-1), 로그 관리부(M3-2)를 포함할 수 있다.
상태 관리부(M3-1)는 주기적인 모니터링을 통해 컨테이너 및 컨테이너 관리부의 기능이 정상 동작하는지 확인할 수 있다.
로그 관리부(M3-2)는 컨테이너 상태관리부를 통해 확인된 내용을 로그를 보관할 수 있다. 나아가, 로그 관리부(M3-2)는 소정의 시간 후에 로그를 삭제하거나 백업 처리할 수 있다. 나아가, 컨테이너가 비정상 동작하는 경우 로그 관리부(M3-2)를 통해 상태 관리부(M3-1)가 해당 문제를 용이하게 해결할 수 있다.
웹 플랫폼 컨테이너 관리부(CM4)는 웹 플랫폼 컨테이너에 대한 관리를 수행할 수 있으며, 웹 플랫폼 관리부(M4-1), 웹 계정 관리부(M4-2)를 포함할 수 있다.
웹 플랫폼 관리부(M4-1)는 웹 플랫폼의 다양한 기능이 운영체제 즉, 컨테이너 상에서 정상 동작하는지 관리할 수 있다. 그리고 웹 플랫폼 관리부(M4-1)는 복수의 웹 플랫폼 컨테이너가 동작하는 경우 각 컨테이너 별로 로그인 계정을 관리하여 개인화된 웹 이용 환경을 관리할 수 있다. 이에 대한 자세한 설명은 후술한다.
나아가, 컨테이너 브리지부(CM5)는 인터페이스, 하드웨어 등과 연결되어 디스플레이, 오디오, 어플리케이션, 네트워크 등에 대한 각 운영체제 간의 상호 연결을 수행할 수 있다.
컨테이너 브리지부(CM5)는 통신 채널 관리부(M5-1) 및 디바이스 제어 관리부(M5-2)를 포함할 수 있다.
통신 채널 관리부(M5-1)는 컨테이너 관리부(CM) 상의 각 컨테이너(50)와 통신을 관리할 수 있다.
그리고 디바이스 제어 관리부(M5-2)는 각 컨테이너와 디바이스(DV) 간의 입출력(I/O)을 제어할 수 있다. 예컨대, 디바이스 제어 관리부(M5-2)에서 후술하는 차량 가상화 구조 기반의 디바이스 제어 방법이 수행될 수 있다. 예컨대, 디바이스 제어 관리부(M5-2)는 사용자(예로, 탑승자)가 사용자 인터페이스 등을 통해 특정 컨테이너 상에서 어플리케이션 등을 구동 또는 조작하고, 구동 또는 조작에 따라 차량 내 디바이스 예컨대 Wi-fi를 사용을 요청에 대응할 수 있다. 즉, 디바이스 제어 관리부(M5-2)는 차량 가상화 구조에서 각 컨테이너로부터 차량 내 디바이스의 사용을 요청하는 경우 이에 대한 사용 여부를 결정할 수 있다. 그리고 조작 과정 또는 결과로 오디오(예, 스피커) 등의 출력 장치를 통해 사용자에게 제공될 수 있다 여기서, 차량 내 디바이스는 와이파이(wi-fi), 블루투스(Bluetooth), 지피에스(GPS), 마이크(microphone), 스피커(speaker), 카메라(camera), 저장소(storage) 등을 포함할 수 있다. 그리고 도면에 기재된 각 요소는 예시이며, 이하에서는 이를 기준으로 설명한다.
도 3은 실시예에 따른 차량 가상화 구조 기반의 디바이스 제어 방법에 대한 순서도이고, 도 4는 실시예에 따른 차량 가상화 구조 기반의 디바이스 제어 방법에서 판단하는 단계의 구체화된 순서도이고, 도 5는 실시예에 따른 차량 가상화 구조 기반의 디바이스 제어 방법에서 공용 디바이스에 대한 순서도이고, 도 6은 실시예에 따른 차량 가상화 구조 기반의 디바이스 제어 방법에서 개별 디바이스에 대한 순서도이고, 도 7은 실시예에 따른 차량 가상화 구조 기반의 디바이스 제어 방법에서 차량 운행을 수행하는 컨테이너로부터 사용 요청이 있는 경우 사용 결정에 대한 순서도이다.
도 3을 참조하면, 실시예에 따른 차량 가상화 구조 기반의 디바이스 제어 방법은 복수의 컨테이너 중 적어도 하나의 컨테이너로부터 디바이스에 대한 사용 요청을 수신하는 단계(S1100) 및 디바이스의 종류와 사용 요청을 송신한 컨테이너의 종류에 따라 디바이스의 사용을 판단하는 단계(S1200)를 포함할 수 있다. 이 때, 실시예에 따른 차량 가상화 구조 기반의 시스템 및 장치에서 복수의 컨테이너에 대한 디바이스 사용에 대한 제어 또는 관리가 이루어질 수 있다. 그리고 이하에서 실시예에 따른 차량 가상화 구조 기반의 디바이스 제어 방법에 대한 설명은 상술한 컨테이너 관리부 특히 컨테이너 브리지부의 디바이스 제어 관리부에 의해 수행될 수 있다.
예컨대, 사용자는 어플리케이션 사용 또는 조작에 의해 컨테이너를 통해 특정 디바이스에 대한 사용 요청을 상술한 컨테이너 브리지부로 제공할 수 있다. 이에, 컨테이너 브리지부는 디바이스에 대한 사용 요청을 수신할 수 있다. 예컨대, 컨테이너 브리지부는 AVN, RSE, Co-drive의 컨테이너를 통해 특정 디바이스에 대한 사용 요청을 수신할 수 있다. 이하에서는 사용 요청에 대한 디바이스의 사용을 판단(사용 허가)하는 내용을 설명한다.
도 4 내지 도 6을 추가로 참조하면, 디바이스의 종류와 사용 요청을 송신한 컨테이너의 종류에 따라 디바이스의 사용을 판단하는 단계(S1200)는 디바이스의 종류가 공용 디바이스인지 확인하고 디바이스에 대한 사용을 결정하는 단계(S1210)와, 디바이스의 종류가 개별 디바이스인지 확인하고 디바이스에 대한 사용을 결정하는 단계(S1220) 및 디바이스에 대한 사용 요청을 송신한 컨테이너가 차량 운행을 수행하는 컨테이너인지 확인하고 디바이스에 대한 사용을 결정하는 단계(S1230)를 포함할 수 있다.
먼저, 컨테이너 브리지부는 디바이스의 종류가 공용 디바이스인지 확인한 이후에 확인 결과에 따라 디바이스에 대한 사용을 결정할 수 있다(S1210). 특히 공용 디바이스 중 네트워크 디바이스인지 또는 미디어 디바이스인지에 따라 허가 방식이 상이할 수 있다.
그리고 디바이스의 종류가 공용 디바이스가 아닌 경우 개별 디바이스인지 확인하고 디바이스에 대한 사용을 결정할 수 있다(S1220). 특히, 개별 디바이스인 경우에 다른 컨테이너에서 해당 개별 디바이스의 사용 여부를 확인하고 이후에 개별 디바이스에 대한 사용을 허용할 수 있다.
그리고 디바이스의 종류가 공용 디바이스 및 개별 디바이스가 아닌 경우 차량 운행을 수행하는 컨테이너인지 확인하고 디바이스에 대한 사용을 결정할 수 있다(S1230).
구체적으로, 디바이스의 종류가 공용 디바이스인지 확인하고 디바이스에 대한 사용을 결정하는 단계(S1210)는 디바이스의 종류가 공용 디바이스인지 확인하는 단계(S1211)와 디바이스의 종류가 공용 네트워크 중 네트워크 디바이스인지 재확인하는 단계(S1212)를 포함할 수 있다.
실시예에 따르면 먼저 사용 요청의 대상인 디바이스가 공용 디바이스인지 확인할 수 있다(S1211). 만약, 사용 요청의 디바이스가 공용 디바이스가 아니라면 개별 디바이스인지 확인하고 디바이스에 대한 사용을 결정할 수 있다(S1220).
이와 달리, 사용 요청의 디바이스가 공용 디바이스라면 네트워크 디바이스인지 확인할 수 있다(S1212). 이 때, 사용 요청의 디바이스가 네트워크 디바이스인 경우에 디바이스의 사용을 결정할 수 있다(S1213). 이로써, 해당 컨테이너는 Wifi, LTE, GPS 등의 네트워크 디바이스를 사용할 수 있다. 특히, 네트워크 다바이스는 사용자 모두 즉, 차량 내 모든 컨테이너에 대한 네트워크를 형성하므로, 각 컨테이너에서 네트워크를 사용할 수 있다. 예컨대, 브로드케스트 방식으로 GPS 정보 전달이 이루어질 수 있다. 또한, WIfi의 경우 네트워크 허브를 통해 각 컨테이너에게 제공될 수 있다. 나아가, HMI(human machine interaction) 설치는 각 컨테이너에서 이루어질 수 있다. 예컨대, cluster나 AVN에서 HMI(human machine interaction) 설치가 이루어져, 시스템 안정성을 개선할 수 있다.
그리고 디바이스의 종류가 공용 디바이스(공용 디바이스에 대응)가 아닌 경우 디바이스의 종류가 개별 디바이스인지 확인하고 디바이스에 대한 사용을 결정할 수 있다(S1220).
디바이스의 종류가 공용 디바이스인지 확인하고 디바이스에 대한 사용을 결정하는 단계(S1210)는, 디바이스의 종류가 공용 디바이스인 경우 공용 네트워크 중 미디어 디바이스인지 재확인하는 단계(S1212) 및 디바이스가 미디어 디바이스인 경우 디바이스의 사용 정책에 따라 디바이스의 사용을 결정하는 단계(S1214);를 포함할 수 있다.
그리고 사용 요청의 디바이스가 네트워크 디바이스가 아닌 경우(예, 미디어 디바이스)인 경우에 미디어 디바이스의 사용을 결정할 수 있다(S1214). 이 때, 미디어 디바이스는 저장소, 오디오 등을 포함할 수 있다. 이에, 각 컨테이너는 미디어 디바이스의 사용 정책에 따라 사용 허가가 이루어질 수 잇다. 예컨대, 동시에 복수 개의 컨테이너로부터 저장소의 사용 요청이 수신되는 경우 동일 저장소(동일 파일)에 대한 사용은 기설정된 우선순위에 따라 수행될 수 있다. 예컨대, AVN, RSE, Co-drive, 순으로 운선순위가 설정될 수 있다. 이와 달리, 복수 개의 컨테이너로부터 저장소의 사용 요청이 동일 저장소(동일 파일)에 대한 사용이 아닌 경우 동시에 사용 허가가 이루어질 수 있다.
나아가, 복수 개의 컨테이너로부터 오디오에 대한 사용 요청이 있는 경우, 출력이 혼합(mix)되어 이루어질 수 있다. 다만, 다른 컨테이너에 의해 오디오가 기사용 중이라면 mix 또는 독립 출력에 대한 선택을 수신하여 mix 또는 독립 출력이 수행될 수 있다.
그리고 실시예에서 디바이스의 종류가 개별 디바이스인지 확인하고 디바이스에 대한 사용을 결정하는 단계(S1220)는 개별디바이스인지 확인하는 단계(S1221), 디바이스의 종류가 개별 디바이스인 경우 디바이스가 사용 중인지 재확인하는 단계(1222) 및 디바이스가 사용 중인 경우 기 사용중인 디바이스의 연결을 해제하는 단계(S1223) 를 포함할 수 있다.
그리고 실시예에 따른 차량 가상화 구조 기반의 디바이스 제어 방법에서 해제하는 단계(S1223) 이후에 하고 재확인하는 단계를 재수행하는 단계(S1224)를 더 포함할 수 있다. 또한, 실시예에 따른 차량 가상화 구조 기반의 디바이스 제어 방법에서 재확인하는 단계(S1224)에서, 디바이스가 사용 중이 아닌 경우 디바이스에 대한 개별 사용을 결정하는 단계(S1225)를 포함할 수 있다.
실시예로, 개별 디바이스인지 확인하고(S1221), 사용 요청의 디바이스가 공용 디바이스 및 개별 디바이스가 아닌 경우에 차량 운행을 수행하는 컨테이너인지 확인하고 디바이스에 대한 사용을 결정할 수 있다(S1230).
이와 달리, 사용 요청의 디바이스가 개별 디바이스인 경우 사용 중인 컨테이너가 있는지 확인할 수 있다(S1222). 이 때, 개별 디바이스에 대한 사용 중인 컨테이너가 있는 경우 사용 중인 컨테이너의 연결을 해제할 수 있다(S1223). 이 경우, 우선순위에 따라 연결 해제가 조건 없이 이루어질 수 있다. 또한, 우선순위에 따라 특정 조건이 만족되면 연결 해제가 이루어질 수 있다. 예컨대, AVN, RSE, Co-drive, 순으로 운선순위가 설정될 수 있다. 그리고, 우선순위가 높은 어플리케이션 또는 컨테이너(어플리케이션이 수행되는 컨테이너)가 사용 중인 컨테이너인 경우 연결 해제의 동의가 요구된다. 본 명세서에서 사용 요청은 AVN, RSE 등 또는 컨테이너로 설명됨을 이해해야 한다. 상술한 동의는 사용자의 기설정된 입력(예, 터치)에 의해 이루어질 수 있다. 이와 달리, 우선순위가 낮은 어플리케이션 또는 컨테이너(어플리케이션이 수행되는 컨테이너)가 사용 중인 컨테이너인 경우 동의 없이 연결 해제가 이루어질 수 있다.
그리고 연결 해제가 이루어지면, 사용 중인 컨테이너가 있는지 재확인하고(S1224) 디바이스 사용을 수행할 수 있다(S1225). 이러한 재확인을 통해 컨테이너의 연결 해제 직후에 동일한 개별 디바이스에 대한 사용 요청을 검출하여 개별 디바이스의 사용에 대한 혼란을 방지할 수 있다. 예컨대, 블루투스(Bluetooth)가 특정 컨테이너에서 사용 중인 경우 다른 컨테이너에서 블루투스의 사용이 상술한 동의 등이 없이는 이루어질 수 없다.
또한, 실시예에서 디바이스에 대한 사용 요청을 송신한 컨테이너가 차량 운행을 수행하는 컨테이너인지 확인하고 디바이스에 대한 사용을 결정하는 단계(S1230)는, 디바이스에 대한 사용 요청을 송신한 컨테이너가 차량 운행을 수행하는 컨테이너인지 확인하고(S1231), 디바이스에 대한 사용 요청을 송신한 컨테이너가 차량 운행을 수행하는 컨테이너인 경우 디바이스에 대한 사용을 결정하는 단계(S1232);를 포함할 수 있다.
그리고 실시예에서 디바이스에 대한 사용 요청을 송신한 컨테이너가 차량 운행을 수행하는 컨테이너인지 확인하고 디바이스에 대한 사용을 결정하는 단계(S1230)는 디바이스에 대한 사용 요청을 송신한 컨테이너가 차량 운행을 수행하는 컨테이너인지 확인하고(S1231), 디바이스에 대한 사용 요청을 송신한 컨테이너가 차량 운행을 수행하는 컨테이너가 아닌 경우 디바이스에 대한 사용을 불허 결정하는 단계(S1233)를 포함할 수 있다. 이러한 구성에 의하여, 차량 운행을 수행하는 컨테이너(cluster 또는 AVN)로부터의 디바이스 사용을 결정하여 주행 방해를 최소화할 수 있다.
상술한, 본 발명의 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행 가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체 일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체를 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분 리형 및 비분리형 매체를 모두 포함할 수 있다.
실시예로, 제어 장치는 프로세서와 메모리로 이루어질 수 있다. 그리고 프로세서는 메모리에 저장된 컴퓨터 실행 가능 명령어(모듈)을 실행함으로써 다양한 기능을 수행할 수 있다.
일 실시 예에 따르면, 프로세서는 메모리에 저장된 컴퓨터 실행가능 명령어를 실행함으로써, 상술한 가상화 구조 기반의 디바이스 제어 방법의 각 단계 또는 기능을 수행할 수 있다.
또한, 본 개시의 다양한 실시 예들은 기기(machine)(예: 컴퓨터)로 읽을 수 있는 저장 매체(machine-readable storage media)에 저장될 수 있는 명령어를 포함하는 소프트웨어로 구현될 수 있다. 기기(machine)는, 저장 매체로부터 저장된 명령어를 호출하고, 호출된 명령어에 따라 동작이 가능한 장치일 수 있다.
그리고 이러한 명령어가 프로세서에 의해 실행될 경우, 프로세서가 직접, 또는 상기 프로세서의 제어 하에 다른 구성요소들을 이용하여 명령어에 해당하는 기능을 수행할 수 있다. 명령어는 컴파일러 또는 인터프리터에 의해 생성 또는 실행되는 코드를 포함할 수 있다. 예컨대, 저장매체에 저장된 명령어가 프로세서에 의해 실행됨으로써, 상술한 제어하는 방법이 실행될 수 있다.
그리고 기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장매체가 신호(signal)를 포함하지 않으며 실재(tangible)한다는 것을 의미할 뿐 데이터가 저장매체에 반영구적 또는 임시적으로 저장됨을 구분하지 않는다.
일 실시 예에 따르면, 본 문서에 개시된 다양한 실시 예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로, 또는 어플리케이션 스토어(예: 플레이 스토어?, 앱스토어?)를 통해 온라인으로 배포될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
또한, 본 실시예에서 설명한 차량 가상화 구조 기반의 디바이스 제어 방법 및 장치는 컴퓨터 구현 가능한 저장매체에 저장된 컴퓨터 프로그램으로 구현될 수 있다. 또한, 본 실시예에서 사용되는 '~부'라는 용어는 소프트웨어 또는 FPGA(field-programmable gate array) 또는 ASIC과 같은 하드웨어 구성요소를 의미하며, '~부'는 어떤 역할들을 수행할 수 있다. 그렇지만 '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함할 수 있다. 구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합되거나 추가적인 구성요소들과 '~부'들로 더 분리될 수 있다. 뿐만 아니라, 구성요소들 및 '~부'들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU들을 재생시키도록 구현될 수도 있다.
이상에서 실시예를 중심으로 설명하였으나 이는 단지 예시일 뿐 본 발명을 한정하는 것이 아니며, 본 발명이 속하는 분야의 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성을 벗어나지 않는 범위에서 이상에 예시되지 않은 여러 가지의 변형과 응용이 가능함을 알 수 있을 것이다. 예를 들어, 실시예에 구체적으로 나타난 각 구성 요소는 변형하여 실시할 수 있는 것이다. 그리고 이러한 변형과 응용에 관계된 차이점들은 첨부된 청구 범위에서 규정하는 본 발명의 범위에 포함되는 것으로 해석되어야 할 것이다.
Claims (10)
- 복수의 컨테이너 중 적어도 하나의 컨테이너로부터 디바이스에 대한 사용 요청을 수신하는 단계; 및상기 디바이스의 종류와 상기 사용 요청을 송신한 컨테이너의 종류에 따라 상기 디바이스의 사용을 판단하는 단계;를 포함하는 차량 가상화 구조 기반의 디바이스 제어 방법.
- 제1항에 있어서,상기 판단하는 단계는,상기 디바이스의 종류가 공용 디바이스인지 확인하고 상기 디바이스에 대한 사용을 결정하는 단계; 및상기 디바이스의 종류가 개별 디바이스인지 확인하고 상기 디바이스에 대한 사용을 결정하는 단계;를 포함하는 차량 가상화 구조 기반의 디바이스 제어 방법.
- 제2항에 있어서,상기 디바이스에 대한 사용 요청을 송신한 컨테이너가 차량 운행을 수행하는 컨테이너인지 확인하고 상기 디바이스에 대한 사용을 결정하는 단계;를 포함하는 차량 가상화 구조 기반의 디바이스 제어 방법.
- 제2항에 있어서,상기 디바이스의 종류가 공용 디바이스인지 확인하고 상기 디바이스에 대한 사용을 결정하는 단계는,상기 디바이스의 종류가 공용 디바이스인 경우 공용 네트워크 중 네트워크 디바이스인지 재확인하는 단계; 및상기 디바이스가 상기 네트워크 디바이스인 경우 상기 디바이스의 공유 사용을 결정하는 단계;를 포함하는 차량 가상화 구조 기반의 디바이스 제어 방법.
- 제2항에 있어서,상기 디바이스의 종류가 공용 디바이스인지 확인하고 상기 디바이스에 대한 사용을 결정하는 단계는,상기 디바이스의 종류가 공용 디바이스인 경우 공용 네트워크 중 미디어 디바이스인지 재확인하는 단계; 및상기 디바이스가 상기 미디어 디바이스인 경우 상기 디바이스의 사용 정책에 따라 상기 디바이스의 사용을 결정하는 단계;를 포함하는 차량 가상화 구조 기반의 디바이스 제어 방법.
- 제2항에 있어서,상기 디바이스의 종류가 개별 디바이스인지 확인하고 상기 디바이스에 대한 사용을 결정하는 단계는,상기 디바이스의 종류가 개별 디바이스인 경우 상기 디바이스가 사용 중인지 재확인하는 단계; 및상기 디바이스가 사용 중인 경우 기 사용중인 디바이스의 연결을 해제하는 단계;를 포함하는 차량 가상화 구조 기반의 디바이스 제어 방법.
- 제6항에 있어서,상기 해제하는 단계 이후에 하고 상기 재확인하는 단계를 재수행하는 단계;를 더 포함하는 차량 가상화 구조 기반의 디바이스 제어 방법.
- 제6항에 있어서,상기 재확인하는 단계는, 상기 디바이스가 사용 중이 아닌 경우 상기 디바이스에 대한 개별 사용을 결정하는 단계;를 포함하는 차량 가상화 구조 기반의 디바이스 제어 방법.
- 제3항에 있어서,상기 디바이스에 대한 사용 요청을 송신한 컨테이너가 차량 운행을 수행하는 컨테이너인지 확인하고 상기 디바이스에 대한 사용을 결정하는 단계는,상기 디바이스에 대한 사용 요청을 송신한 컨테이너가 차량 운행을 수행하는 컨테이너인 경우 상기 디바이스에 대한 사용을 결정하는 단계;를 포함하는 차량 가상화 구조 기반의 디바이스 제어 방법.
- 제9항에 있어서,상기 결정하는 단계는,상기 디바이스에 대한 사용 요청을 송신한 컨테이너가 차량 운행을 수행하는 컨테이너가 아닌 경우 상기 디바이스에 대한 사용을 불허 결정하는 단계;를 포함하는 차량 가상화 구조 기반의 디바이스 제어 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/617,067 US11977619B2 (en) | 2021-02-01 | 2021-11-19 | Method and device for controlling device based on vehicle virtual structure |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210014175A KR102491362B1 (ko) | 2021-02-01 | 2021-02-01 | 차량 가상화 구조 기반의 디바이스 제어 방법 및 장치 |
KR10-2021-0014175 | 2021-02-01 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2022163983A1 true WO2022163983A1 (ko) | 2022-08-04 |
Family
ID=82654716
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2021/017039 WO2022163983A1 (ko) | 2021-02-01 | 2021-11-19 | 차량 가상화 구조 기반의 디바이스 제어 방법 및 장치 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11977619B2 (ko) |
KR (1) | KR102491362B1 (ko) |
WO (1) | WO2022163983A1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024174737A1 (zh) * | 2023-02-23 | 2024-08-29 | 中兴通讯股份有限公司 | 一种容器内进程优先级设置方法及装置 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102595323B1 (ko) * | 2023-06-27 | 2023-10-31 | 주식회사 드림에이스 | 차량용 임베디드 시스템을 위한 가상 ecu 검증 시스템및 방법 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100956640B1 (ko) * | 2007-11-06 | 2010-05-11 | 전자부품연구원 | 리소스 자율 공유 인터페이스 장치 및 방법 |
KR20110138887A (ko) * | 2010-06-22 | 2011-12-28 | 삼성전자주식회사 | 방송수신장치 및 그의 스케줄링 방법 |
KR101982164B1 (ko) * | 2018-03-13 | 2019-08-28 | 주식회사 안랩 | 네트워크 관리 장치 및 방법 |
KR20200032014A (ko) * | 2018-09-17 | 2020-03-25 | 주식회사 드림에이스 | 차량용 소프트웨어 제어 장치 |
KR20200042793A (ko) * | 2018-10-16 | 2020-04-24 | 삼성전자주식회사 | 복수의 운영체제들을 실행하는 전자장치 및 그 제어 방법 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7908403B2 (en) * | 2008-02-14 | 2011-03-15 | International Business Machines Corporation | Reserved device access contention reduction |
US9582298B2 (en) * | 2015-03-20 | 2017-02-28 | Amazon Technologies, Inc. | Executing commands within virtual machine instances |
KR102303417B1 (ko) * | 2015-06-19 | 2021-09-23 | 삼성전자주식회사 | 복수의 운영 체제를 지원하는 전자 장치 제어 방법 |
DE102019124343A1 (de) * | 2019-09-11 | 2021-03-11 | Audi Ag | Verfahren zum Betreiben eines Rechnersystems für ein Kraftfahrzeug sowie ein derartiges Rechnersystem |
CN111913794B (zh) * | 2020-08-04 | 2024-08-09 | 北京百度网讯科技有限公司 | 用于共用gpu的方法、装置、电子设备及可读存储介质 |
-
2021
- 2021-02-01 KR KR1020210014175A patent/KR102491362B1/ko active IP Right Grant
- 2021-11-19 US US17/617,067 patent/US11977619B2/en active Active
- 2021-11-19 WO PCT/KR2021/017039 patent/WO2022163983A1/ko active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100956640B1 (ko) * | 2007-11-06 | 2010-05-11 | 전자부품연구원 | 리소스 자율 공유 인터페이스 장치 및 방법 |
KR20110138887A (ko) * | 2010-06-22 | 2011-12-28 | 삼성전자주식회사 | 방송수신장치 및 그의 스케줄링 방법 |
KR101982164B1 (ko) * | 2018-03-13 | 2019-08-28 | 주식회사 안랩 | 네트워크 관리 장치 및 방법 |
KR20200032014A (ko) * | 2018-09-17 | 2020-03-25 | 주식회사 드림에이스 | 차량용 소프트웨어 제어 장치 |
KR20200042793A (ko) * | 2018-10-16 | 2020-04-24 | 삼성전자주식회사 | 복수의 운영체제들을 실행하는 전자장치 및 그 제어 방법 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024174737A1 (zh) * | 2023-02-23 | 2024-08-29 | 中兴通讯股份有限公司 | 一种容器内进程优先级设置方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
US11977619B2 (en) | 2024-05-07 |
KR20220111035A (ko) | 2022-08-09 |
US20230177139A1 (en) | 2023-06-08 |
KR102491362B1 (ko) | 2023-01-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2022163983A1 (ko) | 차량 가상화 구조 기반의 디바이스 제어 방법 및 장치 | |
EP3092566B1 (en) | Vehicle with multiple user interface operating domains | |
US8996864B2 (en) | System for enabling multiple execution environments to share a device | |
WO2020059957A1 (ko) | 차량용 소프트웨어 제어 장치 | |
US9021465B2 (en) | Downloading guest software updates by a hypervisor | |
US20090106754A1 (en) | Handling a device related operation in a virtualization enviroment | |
US20140380406A1 (en) | Polymorphic virtual appliance rule set | |
US9342347B1 (en) | Hardware dedication for virtual machines and virtual environments | |
US10289853B2 (en) | Secure driver platform | |
WO2015174609A1 (ko) | 라이브러리 업데이트 방법, 이를 위한 단말 및 시스템 | |
CN111414249B (zh) | 一种车载主机系统 | |
US20200167176A1 (en) | Interrupt virtualization | |
WO2023123850A1 (zh) | 一种固件可信根的实现方法、装置、设备和可读存储介质 | |
KR101498965B1 (ko) | 가상화 기술을 이용한 내외부망 격리 시스템 및 방법 | |
WO2019225849A1 (ko) | 게스트 운영체제의 무결성과 파일 입출력 제어를 통해서 보안 서비스를 제공하는 보안 장치 및 방법 | |
WO2022050464A1 (ko) | 차량 스트리밍 제어 장치 및 방법 | |
KR102449979B1 (ko) | 차량 가상화 구조 기반의 시스템 제어 방법 및 장치 | |
WO2019083231A1 (ko) | 디스플레이장치 및 그 제어방법 | |
WO2021137659A1 (ko) | 이기종 다중 기기 상호작용을 위한 안전한 사용자 인터페이스 분산 방법 | |
US20220245071A1 (en) | Managing access to peripherals in a containerized environment | |
WO2018066828A1 (ko) | 전자장치 및 그 제어방법 | |
WO2021118117A1 (en) | Cloud server and operating method of the same | |
WO2023124930A1 (zh) | 权限管理方法、装置、存储介质及电子设备 | |
KR102491361B1 (ko) | 차량 가상화 구조 기반의 시스템 제어 방법 및 장치 | |
WO2024172297A1 (ko) | 멀티 os 기반의 전자 장치 및 그 제어 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 21923392 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 21923392 Country of ref document: EP Kind code of ref document: A1 |