Signal processing device and vehicle display device comprising same

The signal processing device facilitates application and microservice updates during vehicle operation by managing load distribution and parallel execution of microservices, addressing safety concerns and ensuring efficient data processing.

WO2025154829A1PCT designated stage expired Publication Date: 2025-07-24LG ELECTRONICS INC
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
PCT/KR2024/000726
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-01-15
Publication Date
2025-07-24

AI Technical Summary

Technical Problem

Existing vehicle signal processing devices face challenges in performing application updates and microservice updates while the vehicle is in operation due to safety concerns during driving, particularly with advanced driver assistance systems (ADAS) and autonomous driving.

Method used

A signal processing device that executes a first application and controls multiple microservices, allowing for the update of a second microservice during the operation of a first microservice, with load distribution and parallel execution of both services to ensure seamless updates without interrupting the application.

Benefits of technology

Enables application and microservice updates while the vehicle is running, ensuring efficient data processing and maintaining safety levels through load management and parallel processing of microservices.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure KR2024000726_24072025_PF_FP_ABST
    Figure KR2024000726_24072025_PF_FP_ABST
Patent Text Reader

Abstract

A signal processing device and a vehicle display device comprising same, according to one embodiment of the present disclosure, comprise a processor for executing a first application, wherein the processor executes each of a plurality of micro-services for the execution of the first application, updates, during an operation of a first micro-service from among the plurality of micro-services, a second micro-service corresponding to duplexing of the first micro-service in order to update the first micro-service, and controls an operation by distributing a load to each of the first micro-service and the second micro-service after updating of the second micro-service is completed. Therefore, it is possible to update the application while the application is being executed.
Need to check novelty before this filing date? Find Prior Art

Description

Signal processing device and vehicle display device having the same

[0001] The present disclosure relates to a signal processing device and a vehicle display device having the same, and more particularly, to a signal processing device capable of performing an update of an application while the application is running, and a vehicle display device having the same.

[0002] A vehicle is a device that allows the user to move in the desired direction. A representative example is an automobile.

[0003] Meanwhile, for the convenience of vehicle users, a vehicle signal processing device is installed inside the vehicle.

[0004] The signal processing device inside the vehicle receives and processes sensor data from various sensor devices inside the vehicle.

[0005] Meanwhile, as the types and number of sensors installed in vehicles increase due to advanced driver assistance systems (ADAS) and autonomous driving, the amount of data that needs to be processed is also increasing.

[0006] Meanwhile, in relation to advanced driver assistance systems (ADAS) or autonomous driving, there is a drawback in that updates cannot be performed while the vehicle is driving due to safety issues when running the application.

[0007] The problem to be solved by the present disclosure is to provide a signal processing device capable of performing an application update while the application is running, and a vehicle display device having the same.

[0008] Another problem that the present disclosure seeks to solve is to provide a signal processing device capable of performing an update of a microservice while the microservice is being executed, and a vehicle display device having the same.

[0009] Another problem that the present disclosure seeks to solve is to provide a signal processing device capable of efficiently performing data processing using microservices and a vehicle display device equipped with the same.

[0010] A signal processing device and a vehicle display device having the same according to one embodiment of the present disclosure include a processor for executing a first application, and the processor executes a plurality of microservices for execution of the first application, updates a second microservice corresponding to duplication of the first microservice for update of the first microservice during operation of a first microservice among the plurality of microservices, and controls operation by distributing loads to the first microservice and the second microservice, respectively, after completion of the update of the second microservice.

[0011] Meanwhile, the processor can sequentially control the load of the second microservice to increase when the first microservice and the second microservice are in operation after the update of the second microservice is completed.

[0012] Meanwhile, the processor can control the operation of the first microservice to be terminated and only the second microservice to be operated after the operation of the first microservice and the second microservice.

[0013] Meanwhile, the processor executes a third microservice based on the result data of the first microservice, and if the data reception period of the first microservice is less than the expected update time of the first microservice, the processor can update the second microservice corresponding to the duplication of the first microservice.

[0014] Meanwhile, the processor may update the first microservice instead of executing or updating the second microservice if the data reception period of the first microservice is greater than or equal to the expected update time of the first microservice.

[0015] Meanwhile, the processor controls the first microservice and the second microservice to be executed in parallel, and can adjust the result data output from the first microservice or the second microservice through the executed proxy.

[0016] Meanwhile, the processor may execute a first proxy to distribute input data to the first microservice and the second microservice, respectively, and execute a second proxy to control result data output from the first microservice or the second microservice.

[0017] Meanwhile, the first and second proxies can maintain indexing through a shared memory-based sync.

[0018] Meanwhile, the processor may update a second microservice corresponding to duplication of the first microservice, based on the result data of the first microservice, when a third microservice is executed, for updating the first microservice, and may update a fourth microservice corresponding to the third microservice, based on the result data of the updated second microservice.

[0019] Meanwhile, the processor can update the second microservice by configuring a new second pipeline separate from the first pipeline based on the first microservice when executing multiple microservices.

[0020] Meanwhile, the processor can output single output-based result data based on the first pipeline and the second pipeline.

[0021] Meanwhile, the processor can output multi-output based result data based on the first pipeline and the second pipeline.

[0022] Meanwhile, the processor can sequentially perform updates for each of the multiple microservices.

[0023] Meanwhile, when critical data is input during the simultaneous execution of the first microservice and the second microservice, the processor can provide the critical data only to the second microservice.

[0024] Meanwhile, the processor executes a hypervisor, executes a plurality of virtual machines on the hypervisor, and a first virtual machine among the plurality of virtual machines executes a plurality of microservices corresponding to a first safety level, and transmits result data of the plurality of microservices or result data of some microservices of the plurality of microservices to a second virtual machine among the plurality of virtual machines corresponding to a second safety level lower than the first safety level or to a virtual machine within a second signal processing device.

[0025] Meanwhile, the second virtual machine executes a second application corresponding to the second security level, and the second application can be executed based on the result data of the first microservice.

[0026] Meanwhile, the second virtual machine may not transmit the result data of the microservice being executed or the result data of the application to the first virtual machine.

[0027] Meanwhile, the processor may have some cores of the processor running a first virtual machine, and other cores of the processor running a second virtual machine.

[0028] Meanwhile, the first virtual machine can execute a plurality of microservices corresponding to the first safety level based on input sensor data or camera data, and transmit the result data of the first microservice among the plurality of microservices to the second virtual machine corresponding to the second safety level lower than the first safety level.

[0029] A signal processing device and a vehicle display device having the same according to one embodiment of the present disclosure include a processor for executing a first application, wherein the processor executes a plurality of microservices, respectively, for executing the first application, updates a second microservice corresponding to duplication of the first microservice during operation of a first microservice among the plurality of microservices, for updating the first microservice, and controls the operation of distributing loads to the first microservice and the second microservice, respectively, after completion of the update of the second microservice. Accordingly, it is possible to perform an update of an application while executing the application. In particular, it is possible to perform an update of a microservice while executing a microservice. Furthermore, it is possible to perform efficient data processing using microservices.

[0030] Meanwhile, after the second microservice update is completed, the processor can sequentially control the load on the second microservice to increase during the operation of the first and second microservices. This allows the application to be updated while the application is running.

[0031] Meanwhile, after the first and second microservices have completed their operations, the processor can control the first microservice to terminate its operation and only operate the second microservice. This allows microservice updates to be performed while the microservice is running.

[0032] Meanwhile, the processor executes a third microservice based on the result data of the first microservice, and if the data reception period of the first microservice is shorter than the expected update time of the first microservice, it can update the second microservice corresponding to the duplication of the first microservice. Accordingly, it is possible to perform a microservice update while the microservice is running.

[0033] Meanwhile, if the data reception period of the first microservice is greater than or equal to the expected update time of the first microservice, the processor can update the first microservice instead of executing or updating the second microservice. Accordingly, the first microservice can be updated.

[0034] Meanwhile, the processor controls the parallel execution of the first and second microservices, and can adjust the resulting data output from either the first or second microservice via the executing proxy. This allows microservice updates to be performed while the microservice is running. Furthermore, data processing can be performed efficiently using microservices.

[0035] Meanwhile, the processor can execute a first proxy to distribute input data to the first and second microservices, respectively, and a second proxy to control the output data from the first or second microservice. This enables microservice updates to be performed while the microservice is running. Furthermore, data processing can be performed efficiently using microservices.

[0036] Meanwhile, the first and second proxies can maintain indexing through a shared memory-based sync. This allows microservice updates to be performed while the microservice is running. Furthermore, data processing can be performed efficiently using microservices.

[0037] Meanwhile, the processor, based on the result data of the first microservice, can update the second microservice corresponding to the duplication of the first microservice when the third microservice is executed to update the first microservice, and can update the fourth microservice corresponding to the third microservice based on the result data of the updated second microservice. Accordingly, it is possible to perform a microservice update while the microservice is running. Furthermore, data processing can be performed efficiently using the microservice.

[0038] Meanwhile, when executing multiple microservices, the processor can configure a new second pipeline, separate from the first pipeline based on the first microservice, to update the second microservice. This allows microservice updates to be performed while the microservice is running. Furthermore, data processing can be performed efficiently using microservices.

[0039] Meanwhile, the processor can output single-output-based result data based on the first and second pipelines. This allows microservice updates to be performed while the microservice is running. Furthermore, data processing can be performed efficiently using microservices.

[0040] Meanwhile, the processor can output multi-output-based result data based on the first and second pipelines. This allows microservice updates to be performed while the microservice is running. Furthermore, data processing can be performed efficiently using microservices.

[0041] Meanwhile, the processor can sequentially perform updates for each of the multiple microservices. This allows microservice updates to be performed while they are running. Furthermore, this allows for efficient data processing using microservices.

[0042] Meanwhile, if critical data is input during the simultaneous execution of the first and second microservices, the processor can provide the critical data only to the second microservice. This allows microservice updates to be performed while the first and second microservices are running. Furthermore, data processing can be performed efficiently using microservices.

[0043] Meanwhile, the processor executes a hypervisor, executes multiple virtual machines on the hypervisor, and a first virtual machine among the multiple virtual machines executes multiple microservices corresponding to a first safety level, and transmits result data of the multiple microservices or result data of some microservices of the multiple microservices to a second virtual machine among the multiple virtual machines corresponding to a second safety level lower than the first safety level or to a virtual machine within a second signal processing device. Accordingly, data processing can be efficiently performed based on the safety level.

[0044] Meanwhile, the second virtual machine executes a second application corresponding to the second security level, and the second application can be executed based on the result data from the first microservice. This enables efficient data processing based on the security level.

[0045] Meanwhile, the second virtual machine may not transmit the result data of the microservice or application being executed to the first virtual machine. This allows for efficient data processing based on the security level.

[0046] Meanwhile, the processor can have some cores execute a first virtual machine, while other cores execute a second virtual machine. This allows for efficient data processing based on a security level.

[0047] Meanwhile, the first virtual machine can execute multiple microservices corresponding to the first safety level based on input sensor data or camera data, and transmit the result data of the first microservice among the multiple microservices to the second virtual machine corresponding to the second safety level, which is lower than the first safety level. Accordingly, data processing can be efficiently performed based on the safety level.

[0048] Figure 1 is a drawing showing an example of the exterior and interior of a vehicle.

[0049] Figures 2 to 2c are drawings illustrating various architectures of a vehicle communication gateway.

[0050] Figure 3a is a drawing showing an example of the arrangement of a vehicle display device inside a vehicle.

[0051] FIG. 3b is a drawing showing another example of the arrangement of a vehicle display device inside a vehicle.

[0052] Fig. 4 is an example of an internal block diagram of the vehicle display device of Fig. 3b.

[0053] FIGS. 5A to 5D are drawings showing various examples of vehicle display devices.

[0054] FIG. 6 is an example of a block diagram of a vehicle display device according to an embodiment of the present disclosure.

[0055] FIGS. 7A and 7B are drawings for reference in the description of a signal processing device related to the present disclosure.

[0056] FIGS. 8A to 8E are diagrams illustrating various examples of execution of microservices according to embodiments of the present disclosure.

[0057] FIG. 9 is an example of an internal block diagram of a signal processing device according to an embodiment of the present disclosure.

[0058] FIG. 10 is an example of an internal block diagram of a signal processing device according to another embodiment of the present disclosure.

[0059] Fig. 11 is a flowchart showing an operation method of a signal processing device according to an embodiment of the present disclosure.

[0060] Figures 12a to 19 are drawings referenced in the operation description of Figure 11.

[0061] Hereinafter, the present disclosure will be described in more detail with reference to the drawings.

[0062] The suffixes "module" and "part" used in the following description are given solely for the convenience of writing this specification and do not impart any particularly significant meaning or role to the components themselves. Therefore, the terms "module" and "part" may be used interchangeably.

[0063] Figure 1 is a drawing showing an example of the exterior and interior of a vehicle.

[0064] Referring to the drawing, the vehicle (200) is operated by a plurality of wheels (103FR, 103FL, 103RL, etc.) that rotate by a power source and a steering wheel (150) for controlling the direction of travel of the vehicle (200).

[0065] Meanwhile, the vehicle (200) may further be equipped with a camera (195) for capturing images of the front of the vehicle.

[0066] Meanwhile, the vehicle (200) may be equipped with multiple displays (180a, 180b) for displaying images, information, etc. inside.

[0067] In Fig. 1, a cluster display (180a) and an AVN (Audio Video Navigation) display (180b) are exemplified as multiple displays (180a, 180b). In addition, a HUD (Head Up Display) is also possible.

[0068] Meanwhile, the AVN (Audio Video Navigation) display (180b) may also be named a center information display.

[0069] Meanwhile, the vehicle (200) described in this specification may be a concept that includes all of a vehicle equipped with an engine as a power source, a hybrid vehicle equipped with an engine and an electric motor as a power source, and an electric vehicle equipped with an electric motor as a power source.

[0070] Figures 2 to 2c are drawings illustrating various architectures of a vehicle communication gateway.

[0071] First, Fig. 2 is a drawing illustrating the first architecture of a vehicle communication gateway.

[0072] Referring to the drawing, the first architecture (300a) can correspond to a zone-based architecture.

[0073] Accordingly, sensor devices and processors inside the vehicle may be placed in each of the plurality of zones (Z1 to Z4), and a signal processing device (170a) including a vehicle communication gateway (GWDa) may be placed in the central area of ​​the plurality of zones (Z1 to Z4).

[0074] Meanwhile, the signal processing device (170a) may further include, in addition to the vehicle communication gateway (GWDa), an autonomous driving control module (ACC), a cockpit control module (CPG), etc.

[0075] The vehicle communication gateway (GWDa) within the signal processing device (170a) may be an HPC (High Performance Computing) gateway.

[0076] That is, the signal processing device (170a) of FIG. 2 is an integrated HPC and can exchange data with an external communication module (not shown) or a processor (not shown) within a plurality of zones (Z1 to Z4).

[0077] Figure 3a is a drawing showing an example of the arrangement of a vehicle display device inside a vehicle.

[0078] Referring to the drawing, the interior of the vehicle may be equipped with a cluster display (180a), an AVN (Audio Video Navigation) display (180b), a rear seat entertainment display (180c, 180d), a room mirror display (not shown), etc.

[0079] Figure 3b is a drawing showing another example of the arrangement of a vehicle display device inside a vehicle.

[0080] A vehicle display device (100) according to an embodiment of the present disclosure may include a plurality of displays (180a to 180b), and a signal processing device (170) that performs signal processing for displaying images, information, etc. on the plurality of displays (180a to 180b) and outputs an image signal to at least one display (180a to 180b).

[0081] Among the plurality of displays (180a to 180b), the first display (180a) may be a cluster display (180a) for displaying driving status, operation information, etc., and the second display (180b) may be an AVN (Audio Video Navigation) display (180b) for displaying vehicle driving information, a navigation map, various entertainment information, or images.

[0082] The signal processing device (170) has a processor (175) therein and can execute a first virtual machine to a third virtual machine (not shown) on a hypervisor (not shown) within the processor (175).

[0083] A second virtual machine (not shown) can operate for the first display (180a), and a third virtual machine (not shown) can operate for the second display (180b).

[0084] Meanwhile, the first virtual machine (not shown) within the processor (175) can control the shared memory (508) based on the hypervisor (505) to be set for the same data transmission to the second virtual machine (not shown) and the third virtual machine (not shown). Accordingly, the same information or the same image can be displayed in synchronization on the first display (180a) and the second display (180b) within the vehicle.

[0085] Meanwhile, the first virtual machine (not shown) within the processor (175) shares at least a portion of data with the second virtual machine (not shown) and the third virtual machine (not shown) for data sharing processing. Accordingly, data can be shared and processed among multiple virtual machines for multiple displays within the vehicle.

[0086] Meanwhile, a first virtual machine (not shown) within a processor (175) may receive and process vehicle wheel speed sensor data, and transmit the processed wheel speed sensor data to at least one of a second virtual machine (not shown) or a third virtual machine (not shown). Accordingly, the vehicle wheel speed sensor data may be shared with at least one virtual machine.

[0087] Meanwhile, the vehicle display device (100) according to the embodiment of the present disclosure may further include a rear seat entertainment display (180c) for displaying driving status information, simple navigation information, various entertainment information, or images.

[0088] The signal processing device (170) can control the RSE display (180c) by executing a fourth virtual machine (not shown) in addition to the first virtual machine to the third virtual machine (not shown) on a hypervisor (not shown) within the processor (175).

[0089] Accordingly, it is possible to control various displays (180a to 180c) using one signal processing device (170).

[0090] Meanwhile, some of the multiple displays (180a~180c) may operate under Linux OS, while others may operate under Web OS.

[0091] The signal processing device (170) according to the embodiment of the present disclosure can control the same information or the same image to be displayed in synchronization on displays (180a to 180c) operating under various operating systems (OS).

[0092] Meanwhile, in FIG. 3b, a vehicle speed indicator (212a) and a vehicle interior temperature indicator (213a) are displayed on a first display (180a), a home screen (222) including a plurality of applications and a vehicle speed indicator (212b) and a vehicle interior temperature indicator (213b) are displayed on a second display (180b), and a second home screen (222b) including a plurality of applications and a vehicle interior temperature indicator (213c) are displayed on a third display (180c).

[0093] Fig. 4 is an example of an internal block diagram of the vehicle display device of Fig. 3b.

[0094] Referring to the drawings, a vehicle display device (100) according to an embodiment of the present disclosure may include an input unit (110), a communication unit (120) for communication with an external device, a plurality of communication modules (EMa to EMd) for internal communication, a memory (140), a signal processing unit (170), a plurality of displays (180a to 180c), an audio output unit (185), and a power supply unit (190).

[0095] A plurality of communication modules (EMa to EMd) can be arranged, for example, in a plurality of zones (Z1 to Z4) of FIG. 2, respectively.

[0096] Meanwhile, the signal processing device (170) may have a communication switch (736b) for data communication with each communication module (EM1 to EM4) inside.

[0097] Each communication module (EM1 to EM4) can perform data communication with multiple sensor devices (SN) or ECUs (770) or area signal processing devices (170Z).

[0098] Meanwhile, the plurality of sensor devices (SN) may include a camera (195), a lidar (196), a radar (197), or a position sensor (198).

[0099] The input unit (110) may be equipped with physical buttons, pads, etc. for button input, touch input, etc.

[0100] Meanwhile, the input unit (110) may be equipped with a microphone (not shown) for user voice input.

[0101] The communication unit (120) can exchange data wirelessly with a mobile terminal (800) or a server (900).

[0102] In particular, the communication unit (120) can wirelessly exchange data with the vehicle driver's mobile terminal. Various data communication methods are possible, such as Bluetooth, WiFi, WiFi Direct, and APiX.

[0103] The communication unit (120) can receive weather information, road traffic information, for example, TPEG (Transport Protocol Expert Group) information, from a mobile terminal (800) or a server (900). To this end, the communication unit (120) may be equipped with a mobile communication module (not shown).

[0104] A plurality of communication modules (EM1 to EM4) can receive sensor data, etc. from an ECU (770), a sensor device (SN), or an area signal processing device (170Z), and transmit the received sensor data to the signal processing device (170).

[0105] Here, the sensor data may include at least one of vehicle direction data, vehicle location data (GPS data), vehicle angle data, vehicle speed data, vehicle acceleration data, vehicle inclination data, vehicle forward / backward data, battery data, fuel data, tire data, vehicle lamp data, vehicle interior temperature data, and vehicle interior humidity data.

[0106] Such sensor data can be obtained from a heading sensor, a yaw sensor, a gyro sensor, a position module, a vehicle forward / backward sensor, a wheel sensor, a vehicle speed sensor, a body tilt detection sensor, a battery sensor, a fuel sensor, a tire sensor, a steering sensor by steering wheel rotation, a vehicle interior temperature sensor, a vehicle interior humidity sensor, etc.

[0107] Meanwhile, the position module may include a GPS module or a position sensor (198) for receiving GPS information.

[0108] Meanwhile, at least one of the plurality of communication modules (EM1 to EM4) can transmit location information data sensed by a GPS module or location sensor (198) to a signal processing device (170).

[0109] Meanwhile, at least one of the plurality of communication modules (EM1 to EM4) can receive vehicle front image data, vehicle side image data, vehicle rear image data, vehicle surrounding obstacle distance information, etc. from a camera (195), lidar (196), radar (197), etc., and transmit the received information to a signal processing device (170).

[0110] The memory (140) can store various data for the overall operation of the vehicle display device (100), such as a program for processing or controlling the signal processing device (170).

[0111] For example, the memory (140) may store data regarding a hypervisor, a first virtual machine, a third virtual machine, or the like, for execution within the processor (175).

[0112] The audio output unit (185) converts an electric signal from the signal processing device (170) into an audio signal and outputs it. For this purpose, a speaker or the like may be provided.

[0113] The power supply unit (190) can supply power required for the operation of each component under the control of the signal processing device (170). In particular, the power supply unit (190) can receive power from a battery or the like inside the vehicle.

[0114] The signal processing device (170) controls the overall operation of each unit within the vehicle display device (100).

[0115] For example, the signal processing device (170) may include a processor (175) that performs signal processing for a vehicle display (180a, 180b).

[0116] The processor (175) can execute a first virtual machine to a third virtual machine (not shown) on a hypervisor (not shown) within the processor (175).

[0117] Among the first virtual machine to the third virtual machine (not shown), the first virtual machine (not shown) may be named a server virtual machine (Server Virtual Maschine), and the second virtual machine to the third virtual machine (not shown) may be named a guest virtual machine (Guest Virtual Maschine).

[0118] For example, a first virtual machine (not shown) within a processor (175) may receive, process, or output sensor data from a plurality of sensor devices, such as vehicle sensor data, location information data, camera image data, audio data, or touch input data.

[0119] In this way, by performing most of the data processing in the first virtual machine (not shown), data sharing in a 1:N manner becomes possible.

[0120] As another example, a first virtual machine (not shown) can directly receive and process CAN data, Ethernet data, audio data, radio data, USB data, and wireless communication data for a second virtual machine or a third virtual machine (not shown).

[0121] And, the first virtual machine (not shown) can transmit processed data to the second virtual machine or the third virtual machine (not shown).

[0122] Accordingly, among the first virtual machine to the third virtual machine (not shown), only the first virtual machine (not shown) receives sensor data, communication data, or external input data from multiple sensor devices and performs signal processing, thereby reducing the signal processing burden on other virtual machines, enabling 1:N data communication, and enabling synchronization when sharing data.

[0123] Meanwhile, the first virtual machine (not shown) can control the second virtual machine (not shown) and the third virtual machine (not shown) to share the same data by writing data to the shared memory (508).

[0124] For example, a first virtual machine (not shown) can record vehicle sensor data, the location information data, the camera image data, or the touch input data in shared memory (508) and control the same data to be shared with a second virtual machine (not shown) and a third virtual machine (not shown). Accordingly, data sharing in a 1:N manner becomes possible.

[0125] Ultimately, by performing most of the data processing on the first virtual machine (not shown), data sharing in a 1:N manner becomes possible.

[0126] Meanwhile, the first virtual machine (not shown) within the processor (175) can control the shared memory (508) based on the hypervisor (505) to be set for the same data transmission to the second virtual machine (not shown) and the third virtual machine (not shown).

[0127] Meanwhile, the signal processing device (170) can process various signals such as audio signals, video signals, and data signals. To this end, the signal processing device (170) can be implemented in the form of a system on chip (SOC).

[0128] Meanwhile, the signal processing device (170) in the display device (100) of FIG. 4 may be the same as the signal processing device (170, 170a1, 170a2) of the vehicle display device of FIG. 5a or lower.

[0129] FIGS. 5A to 5D are drawings showing various examples of vehicle display devices.

[0130] FIG. 5A illustrates an example of a vehicle display device according to an embodiment of the present disclosure.

[0131] Referring to the drawings, a vehicle display device (800a) according to an embodiment of the present disclosure includes a signal processing device (170a1, 170a2) and a plurality of area signal processing devices (170Z1 to 170Z4).

[0132] Meanwhile, in the drawing, two signal processing devices (170a1, 170a2) are exemplified, but this is for backup purposes, etc., and one is also possible.

[0133] Meanwhile, the signal processing device (170a1, 170a2) may also be named an HPC (High Performance Computing) signal processing device.

[0134] Multiple area signal processing devices (170Z1 to 170Z4) are arranged in each area (Z1 to Z4) and can transmit sensor data to signal processing devices (170a1, 170a2).

[0135] The signal processing device (170a1, 170a2) receives data via a wire from multiple area signal processing devices (170Z1 to 170Z4) or a communication device (120).

[0136] In the drawing, data is exchanged based on wired communication between a signal processing device (170a1, 170a2) and multiple area signal processing devices (170Z1 to 170Z4), and the signal processing device (170a1, 170a2) and the server (400) exchange data based on wireless communication. However, data may be exchanged based on wireless communication between a communication device (120) and a server (400), and the signal processing device (170a1, 170a2) and the communication device (120) may exchange data based on wired communication.

[0137] Meanwhile, data received by the signal processing device (170a1, 170a2) may include camera data or sensor data.

[0138] For example, sensor data within a vehicle may include at least one of vehicle wheel speed data, vehicle direction data, vehicle location data (GPS data), vehicle angle data, vehicle speed data, vehicle acceleration data, vehicle inclination data, vehicle forward / backward data, battery data, fuel data, tire data, vehicle lamp data, vehicle interior temperature data, vehicle interior humidity data, vehicle exterior radar data, and vehicle exterior lidar data.

[0139] Meanwhile, camera data may include vehicle exterior camera data and vehicle interior camera data.

[0140] Meanwhile, the signal processing device (170a1, 170a2) can execute multiple virtual machines (820, 830, 840) based on safety standards.

[0141] In the drawing, it is illustrated that a processor (175) within a signal processing device (170a) executes a hypervisor (505) and, on the hypervisor (505), executes first to third virtual machines (820 to 840) according to an automotive safety integrity level (Automotive SIL; ASIL).

[0142] The first virtual machine (820) may be a virtual machine corresponding to Quality Management (QM), which is the lowest safety level in the Automotive Safety Integrity Level (ASIL) and is a non-enforceable grade.

[0143] The first virtual machine (820) can execute an operating system (822), a container runtime (824) on the operating system (822), and containers (827, 829) on the container runtime (824).

[0144] The second virtual machine (820) may be a virtual machine corresponding to ASIL A or ASIL B, where the sum of severity, exposure, and controllability is 7 or 8 in the automotive safety integrity level (ASIL).

[0145] The second virtual machine (820) can execute an operating system (832), a container runtime (834) on the operating system (832), and containers (837, 839) on the container runtime (834).

[0146] The third virtual machine (840) may be a virtual machine corresponding to ASIL C or ASIL D, in which the sum of severity, exposure, and controllability is 9 or 10 in the automotive safety integrity level (ASIL).

[0147] Meanwhile, ASIL D can correspond to the grade that requires the highest safety level.

[0148] The third virtual machine (840) can run a safety operating system (842) and an application (845) on the operating system (842).

[0149] Meanwhile, the third virtual machine (840) may also execute a safety operating system (842), a container runtime (844) on the safety operating system (842), and a container (847) on the container runtime (844).

[0150] Meanwhile, unlike the drawing, the third virtual machine (840) can also be executed through a separate core rather than the processor (175). This will be described later with reference to FIG. 5b.

[0151] FIG. 5b illustrates another example of a vehicle display device according to an embodiment of the present disclosure.

[0152] Referring to the drawings, a vehicle display device (800b) according to an embodiment of the present disclosure includes a signal processing device (170a1, 170a2) and a plurality of area signal processing devices (170Z1 to 170Z4).

[0153] The vehicle display device (800b) of FIG. 5b is similar to the vehicle display device (800a) of FIG. 5a, but the signal processing device (170a1) has some differences from the signal processing device (170a1) of FIG. 5a.

[0154] To describe the difference, the signal processing device (170a1) may include a processor (175) and a second processor (177).

[0155] The processor (175) within the signal processing unit (170a1) executes a hypervisor (505), and executes first and second virtual machines (820 to 830) on the hypervisor (505) according to the automotive safety integrity level (Automotive SIL; ASIL).

[0156] The first virtual machine (820) can execute an operating system (822), a container runtime (824) on the operating system (822), and containers (827, 829) on the container runtime (824).

[0157] The second virtual machine (820) can execute an operating system (832), a container runtime (834) on the operating system (832), and containers (837, 839) on the container runtime (834).

[0158] Meanwhile, the second processor (177) within the signal processing device (170a1) can execute a third virtual machine (840).

[0159] The third virtual machine (840) can execute a safety operating system (842), an auto-execution (845) on the operating system (842), and an application (845) on the auto-execution (845). That is, unlike FIG. 5A, an auto-execution (846) on the operating system (842) can be executed.

[0160] Meanwhile, the third virtual machine (840) may, similarly to FIG. 5a, execute a safety operating system (842), a container runtime (844) on the safety operating system (842), and a container (847) on the container runtime (844).

[0161] Meanwhile, the third virtual machine (840) requiring a high level of security is preferably executed on a second processor (177), which is a different core or different processor, unlike the first and second virtual machines (820 to 830).

[0162] Meanwhile, in the signal processing devices (170a1, 170a2) of FIGS. 5a and 5b, when the first signal processing device (170a) malfunctions, the second signal processing device (170a2), which is a backup device, can operate.

[0163] Alternatively, it is also possible for the signal processing devices (170a1, 170a2) to operate simultaneously, with the first signal processing device (170a) operating as the main device and the second signal processing device (170a2) operating as the sub device. This will be described with reference to FIGS. 5c and 5d.

[0164] FIG. 5c illustrates another example of a vehicle display device according to an embodiment of the present disclosure.

[0165] Referring to the drawings, a vehicle display device (800c) according to an embodiment of the present disclosure includes a signal processing device (170a1, 170a2) and a plurality of area signal processing devices (170Z1 to 170Z4).

[0166] Meanwhile, in the drawing, two signal processing devices (170a1, 170a2) are exemplified, but this is for backup purposes, etc., and one is also possible.

[0167] Meanwhile, the signal processing device (170a1, 170a2) may also be named an HPC (High Performance Computing) signal processing device.

[0168] Multiple area signal processing devices (170Z1 to 170Z4) are arranged in each area (Z1 to Z4) and can transmit sensor data to signal processing devices (170a1, 170a2).

[0169] The signal processing device (170a1, 170a2) receives data via a wire from multiple area signal processing devices (170Z1 to 170Z4) or a communication device (120).

[0170] In the drawing, data is exchanged based on wired communication between a signal processing device (170a1, 170a2) and multiple area signal processing devices (170Z1 to 170Z4), and the signal processing device (170a1, 170a2) and the server (400) exchange data based on wireless communication. However, data may be exchanged based on wireless communication between a communication device (120) and a server (400), and the signal processing device (170a1, 170a2) and the communication device (120) may exchange data based on wired communication.

[0171] Meanwhile, data received by the signal processing device (170a1, 170a2) may include camera data or sensor data.

[0172] Meanwhile, among the signal processing devices (170a1, 170a2), the processor (175) in the first signal processing device (170a1) executes a hypervisor (505) and can execute a safety virtualization machine (860) and a non-safety virtualization machine (870) on the hypervisor (505), respectively.

[0173] Meanwhile, among the signal processing devices (170a1, 170a2), the processor (175b) in the second signal processing device (170a2) executes the hypervisor (505b) and can execute only the safety virtualization machine (880) on the hypervisor (505).

[0174] In this way, since the processing for safety is separated between the first signal processing device (170a1) and the second signal processing device (170a2), it is possible to improve stability and processing speed.

[0175] Meanwhile, high-speed network communication can be performed between the first signal processing device (170a1) and the second signal processing device (170a2).

[0176] FIG. 5d illustrates another example of a vehicle display device according to an embodiment of the present disclosure.

[0177] Referring to the drawings, a vehicle display device (800d) according to an embodiment of the present disclosure includes a signal processing device (170a1, 170a2) and a plurality of area signal processing devices (170Z1 to 170Z4).

[0178] The vehicle display device (800d) of FIG. 5d is similar to the vehicle display device (800c) of FIG. 5c, but the second signal processing device (170a2) has some differences from the second signal processing device (170a2) of FIG. 5c.

[0179] The processor (175b) in the second signal processing device (170a2) of FIG. 5d executes a hypervisor (505b) and can execute a safety virtualization machine (880) and a non-safety virtualization machine (890) on the hypervisor (505).

[0180] That is, unlike FIG. 5c, the difference is that the processor (175b) within the second signal processing device (170a2) further executes a non-safety virtualization machine (890).

[0181] In this way, since the processing for safety and non-safety is separated between the first signal processing device (170a1) and the second signal processing device (170a2), it is possible to improve stability and processing speed.

[0182] FIG. 6 is an example of a block diagram of a vehicle display device according to an embodiment of the present disclosure.

[0183] Referring to the drawings, a vehicle display device (900) according to an embodiment of the present disclosure includes a signal processing device (170) and at least one display.

[0184] In the drawing, at least one display is illustrated, a cluster display (180a) and an AVN display (180b).

[0185] Meanwhile, the vehicle display device (900) may further include a plurality of area signal processing devices (170Z1 to 170Z4).

[0186] The signal processing device (170) at this time is a high-performance centralized signal processing and control device having multiple CPUs (175), GPUs (178), NPUs (179), etc., and may be called an HPC (High Performance Computing) signal processing device or a central signal processing device.

[0187] A plurality of area signal processing devices (170Z1 to 170Z4) and a signal processing device (170) are connected by wired cables (CB1 to CB4).

[0188] Meanwhile, multiple area signal processing devices (170Z1 to 170Z4) can be connected to each other with wired cables (CBa to CBd).

[0189] The wired cable (CBa~CBd) at this time may include a CAN communication cable, an Ethernet communication cable, or a PCI Express cable.

[0190] Meanwhile, a signal processing device (170) according to an embodiment of the present disclosure may be equipped with at least one processor (175, 178, 177) and a large-capacity storage device (925).

[0191] For example, a signal processing device (170) according to an embodiment of the present disclosure may include a central processor (175, 177), a graphics processor (178), and a neural processor (179).

[0192] Meanwhile, sensor data may be transmitted from at least one of the multiple area signal processing devices (170Z1 to 170Z4) to the signal processing device (170). In particular, the sensor data may be stored in a storage device (925) within the signal processing device (170).

[0193] The sensor data at this time may include at least one of camera data, lidar data, radar data, vehicle direction data, vehicle location data (GPS data), vehicle angle data, vehicle speed data, vehicle acceleration data, vehicle inclination data, vehicle forward / backward data, battery data, fuel data, tire data, vehicle lamp data, vehicle interior temperature data, and vehicle interior humidity data.

[0194] In the drawing, it is exemplified that camera data from a camera (195a) and lidar data from a lidar sensor (196) are input to a first area signal processing device (170Z1), and the camera data and lidar data are transmitted to a signal processing device (170) via a second area signal processing device (170Z2), a third area signal processing device (170Z3), etc.

[0195] Meanwhile, since the data read speed or write speed to the storage device (925) is faster than the network speed when sensor data is transmitted from at least one of the plurality of area signal processing devices (170Z1 to 170Z4) to the signal processing device (170), it is preferable that multi-path routing be performed so that a network bottleneck does not occur.

[0196] To this end, the signal processing device (170) according to the embodiment of the present disclosure can perform multi-path routing based on a Software Defined Network (SDN). Accordingly, a stable network environment can be secured when reading or writing data from the storage device (925). Furthermore, since data can be transmitted to the storage device (925) using multiple paths, the network configuration can be dynamically changed to transmit data.

[0197] Data communication between a plurality of area signal processing devices (170Z1 to 170Z4) and a signal processing device (170) in a vehicle display device (900) according to an embodiment of the present disclosure is preferably Peripheral Component Interconnect Express communication for high-bandwidth, low-latency communication.

[0198] FIGS. 7A and 7B are drawings for reference in the description of a signal processing device related to the present disclosure.

[0199] Figure 7a illustrates an application based on camera data, etc., running on a signal processing device.

[0200] Referring to the drawing, a signal processing device (170x) related to the present disclosure can execute a Driver Monitoring Systems (DMS) application (785) based on camera data from an in-vehicle camera (195i), sensor data from a pressure sensor (SNp), and sensor data from a gas sensor (SNc), and can control a warning sound to be output to an audio output unit (185) based on the result data.

[0201] Figure 7b is a drawing referenced in the operation description of Figure 7a.

[0202] Referring to the drawing, a signal processing device (170x) related to the present disclosure includes a processor (175x), and the processor (175x) can execute a hypervisor (505).

[0203] Meanwhile, a processor (175x) related to the present disclosure executes a plurality of virtual machines (520x, 530x, 540x) on a hypervisor (505), and a second virtual machine (530x) among the plurality of virtual machines (520x, 530x, 540x) executes a driver monitoring system (DMS) application (785) based on camera data from an internal vehicle camera (195i), sensor data from a pressure sensor (SNp), and sensor data from a gas sensor (SNc), and executes a lane keeping assist system (LKAS) application (787) based on camera data outside the vehicle.

[0204] Meanwhile, among the multiple virtual machines (520x, 530x, 540x), a third virtual machine (540x) can execute a forward collision warning (FCW) application (789) based on vehicle external camera data.

[0205] Meanwhile, as shown in FIGS. 7a and 7b, when a driver monitoring system (DMS) application (785) and a lane keeping assist system (787) are executed within a second virtual machine (530x), there is a problem that the workload of the second virtual machine (530x) is significant.

[0206] In particular, in order to execute the driver monitoring system (DMS) application (785), camera data from an in-vehicle camera (195i), sensor data from a pressure sensor (SNp), and sensor data from a gas sensor (SNc) must be received and processed, so there is a problem that the workload of the second virtual machine (530x) is considerable.

[0207] Meanwhile, the third virtual machine (540x) runs on a separate virtual machine from the lane keeping assist system (787), which is based on vehicle external camera data when executing the forward collision warning (FCW) application (789), so there is a problem that the workload is performed inefficiently.

[0208] Accordingly, in this disclosure, a method for sharing intermediate result data of an application, etc., when executing a similar application is proposed.

[0209] To this end, the signal processing device (170) according to the embodiment of the present disclosure divides the application into a plurality of micro services, and executes other micro services based on the results of the micro services, etc., thereby efficiently distributing the workload.

[0210] For example, a signal processing device (170) according to an embodiment of the present disclosure may control a plurality of micro services, wherein a first micro service is performed in a first virtual machine and a second micro service is performed in a second virtual machine, and the result of the first micro service is shared using a shared memory (508) or the like, so that the second micro service is executed based on the result data of the first virtual machine. Accordingly, data processing can be performed efficiently.

[0211] Meanwhile, the signal processing device (170) according to the embodiment of the present disclosure can execute multiple virtual machines by distinguishing them according to the safety level.

[0212] Meanwhile, the signal processing device (170) according to the embodiment of the present disclosure can execute applications or microservices by distinguishing them according to the safety level.

[0213] Accordingly, data processing can be performed reliably according to the Automotive Safety Integrity Level (ASIL) in relation to advanced driver assistance systems (ADAS) or autonomous driving.

[0214] FIGS. 8A to 8E are diagrams illustrating various examples of execution of microservices according to embodiments of the present disclosure.

[0215] Figure 8a illustrates that multiple microservices corresponding to ASIL B are executed based on camera data from an internal camera (195i).

[0216] Referring to the drawing, a signal processing device (170) according to an embodiment of the present disclosure can execute a driver monitoring system (DMS) application (905) corresponding to ASIL B.

[0217] For example, a signal processing device (170) according to an embodiment of the present disclosure can execute a driver monitoring system (DMS) application (905) by separating it into multiple microservices.

[0218] The drawing illustrates multiple microservices for a driver monitoring system (DMS) application (905), including a face detection microservice (910b), an eye movement microservice (915b), an eye tracking microservice (920b), and an alert microservice (930b).

[0219] That is, the signal processing device (170) according to the embodiment of the present disclosure can execute a face detection microservice (910b), an eye movement microservice (915b), a gaze tracking microservice (920b), and a warning microservice (930b) as a plurality of microservices for a driver monitoring system (DMS) application (905) corresponding to ASIL B.

[0220] Meanwhile, the face detection microservice (910b) is executed based on camera data from the internal camera (195i), and the result data of the face detection microservice (910b) is transmitted to the eye movement microservice (915b).

[0221] Meanwhile, the eye movement microservice (915b) is executed based on the result data of the face detection microservice (910b), and the result data of the eye movement microservice (915b) is transmitted to the gaze tracking microservice (920b).

[0222] Meanwhile, the gaze tracking microservice (920b) is executed based on the result data of the eye movement microservice (915b), and the result data of the gaze tracking microservice (920b) is transmitted to the alert microservice (930b).

[0223] Meanwhile, the warning microservice (930b) is executed based on the result data of the gaze tracking microservice (920b), and the result data is input to the audio output unit (185), so that a warning sound can be output from the audio output unit (185).

[0224] Meanwhile, the signal processing device (170) according to the embodiment of the present disclosure can further execute a second face detection microservice (910c) and a head movement microservice (915c) for a driver monitoring system (DMS) application (905) corresponding to ASIL B.

[0225] The second face detection microservice (910c) is executed based on camera data from the internal camera (195i), and the result data of the second face detection microservice (910c) is transmitted to the head movement microservice (915c).

[0226] Meanwhile, the head movement microservice (915c) is executed based on the result data of the second face detection microservice (910c), and the result data of the head movement microservice (915c) is transmitted to the gaze tracking microservice (920b).

[0227] Meanwhile, the gaze tracking microservice (920b) is executed based on the result data of the head movement microservice (915c) and the result data of the eye movement microservice (915b), and the result data of the gaze tracking microservice (920b) can be transmitted to the warning microservice (930b).

[0228] Meanwhile, the signal processing device (170) according to the embodiment of the present disclosure can further execute a plurality of micro-services that are not related to ASIL B, for example, corresponding to QM (Quality Management).

[0229] In the drawing, a third face detection microservice (910a), a face recognition microservice (915a), and a personal microservice (920a) can each be executed as multiple microservices, not related to ASIL B.

[0230] Figure 8b illustrates an example of execution of multiple microservices corresponding to ASIL B and microservices corresponding to QM based on camera data from an internal camera (195i).

[0231] Referring to the drawing, the signal processing device (170) according to the embodiment of the present disclosure can execute a driver monitoring system (DMS) application (905) corresponding to ASIL B, similar to FIG. 8A.

[0232] For example, a signal processing device (170) according to an embodiment of the present disclosure can execute a face detection microservice (910b), an eye movement microservice (915b), a gaze tracking microservice (920b), and a warning microservice (930b) as a plurality of microservices for a driver monitoring system (DMS) application (905) corresponding to ASIL B.

[0233] Meanwhile, the signal processing device (170) according to the embodiment of the present disclosure can further execute a second face detection microservice (910c) and a head movement microservice (915c) for a driver monitoring system (DMS) application (905) corresponding to ASIL B.

[0234] Meanwhile, the signal processing device (170) according to the embodiment of the present disclosure can execute a third face detection microservice (910a), a face recognition microservice (915a), and a personal microservice (920a) as a plurality of microservices, which are not related to ASIL B.

[0235] Meanwhile, the signal processing device (170) according to the embodiment of the present disclosure can execute an augmented reality microservice (930c), which is an example of a graphic provision microservice, as a microservice corresponding to QM.

[0236] At this time, the signal processing device (170) according to the embodiment of the present disclosure can transmit the result data of the eye tracking microservice (920b) among the microservices in the application (905) corresponding to ASIL B to the augmented reality microservice (930c) corresponding to QM, which has a lower safety level.

[0237] Accordingly, the augmented reality microservice (930c) corresponding to QM is executed based on the result data of the gaze tracking microservice (920b), and the result data of the augmented reality microservice (930c) can be transmitted to the display (180) and displayed.

[0238] Figure 8c illustrates the execution of multiple microservices corresponding to QM.

[0239] Referring to the drawing, a signal processing device (170) according to an embodiment of the present disclosure can execute a passenger monitoring application (940) corresponding to QM.

[0240] For example, a signal processing device (170) according to an embodiment of the present disclosure can execute a passenger monitoring application (940) by separating it into multiple micro-services.

[0241] The drawing illustrates multiple microservices for a passenger monitoring application (940), including a passenger press detection microservice (950b), a passenger movement microservice (955b), a passenger detection microservice (960b), and a graphics provision microservice (965b).

[0242] That is, the signal processing device (170) according to the embodiment of the present disclosure can execute a plurality of microservices, namely, a passenger seating microservice (950b), a passenger movement microservice (955b), a passenger detection microservice (960b), and a graphics provision microservice (965b), for a passenger monitoring application (940) corresponding to QM.

[0243] Meanwhile, the passenger seating microservice (950b) is executed based on sensor data from the pressure sensor (SNp), and the result data of the passenger seating microservice (950b) is transmitted to the passenger movement microservice (955b).

[0244] Meanwhile, the passenger movement microservice (955b) is executed based on the result data of the passenger seating microservice (950b), and the result data of the passenger movement microservice (955b) is transmitted to the passenger detection microservice (960b).

[0245] Meanwhile, the passenger detection microservice (960b) is executed based on the result data of the passenger movement microservice (955b), and the result data of the passenger detection microservice (960b) is transmitted to the graphics provision microservice (965b).

[0246] Meanwhile, the graphic provision microservice (965b) is executed based on the result data of the passenger detection microservice (960b), and the result data of the graphic provision microservice (965b) can be transmitted to the display (180) and displayed.

[0247] Meanwhile, the signal processing device (170) according to the embodiment of the present disclosure can further execute a gas detection (CO2 detection) microservice (950c) for a passenger monitoring application (940) corresponding to QM.

[0248] The gas detection (CO2 detection) microservice (950c) is executed based on sensor data from the gas sensor (SNc), and the result data of the gas detection (CO2 detection) microservice (950c) is transmitted to the passenger movement microservice (955b).

[0249] Meanwhile, the passenger movement microservice (955b) is executed based on the result data of the gas detection (CO2 detection) microservice (950c), and the result data of the passenger movement microservice (955b) is transmitted to the passenger detection microservice (960b).

[0250] Meanwhile, the signal processing device (170) according to the embodiment of the present disclosure can further execute a plurality of micro-services unrelated to the passenger monitoring application (940).

[0251] In the drawing, the signal processing unit (170) is illustrated as executing a plurality of microservices, each of which is unrelated to the passenger monitoring application (940), including a face detection microservice (910a), a face recognition microservice (915a), and a personal microservice (920a) based on camera data from an in-vehicle camera (195i).

[0252] Figure 8d illustrates the execution of multiple microservices corresponding to ASIL B and microservices corresponding to QM.

[0253] Referring to the drawing, the signal processing device (170) according to the embodiment of the present disclosure can execute a passenger monitoring application (940) corresponding to QM, similar to FIG. 8c.

[0254] For example, a signal processing device (170) according to an embodiment of the present disclosure can execute a plurality of microservices, for a passenger monitoring application (940) corresponding to QM, including a passenger seating microservice (950b), a passenger movement microservice (955b), a passenger detection microservice (960b), and a graphics provision microservice (965b).

[0255] Meanwhile, the signal processing device (170) according to the embodiment of the present disclosure can further execute a gas detection (CO2 detection) microservice (950c) for a passenger monitoring application (940) corresponding to QM.

[0256] Meanwhile, the signal processing device (170) according to the embodiment of the present disclosure can execute a plurality of micro-services, including a face detection micro-service (910a), a face recognition micro-service (915a), and a personal micro-service (920a), which are not related to the passenger monitoring application (940).

[0257] Meanwhile, the signal processing device (170) according to the embodiment of the present disclosure can further execute a passenger monitoring application (945) corresponding to ASIL B.

[0258] In the drawing, multiple microservices for an occupant monitoring application (945) corresponding to ASIL B are illustrated, including an occupant seating microservice (950d), an occupant movement microservice (955d), an occupant detection microservice (960d), and an alert microservice (965d).

[0259] Meanwhile, the passenger seating microservice (950d) is executed based on sensor data from the pressure sensor (SNp), and the result data of the passenger seating microservice (950d) is transmitted to the passenger movement microservice (955d).

[0260] Meanwhile, the passenger movement microservice (955d) is executed based on the result data of the passenger seating microservice (950d), and the result data of the passenger movement microservice (955d) is transmitted to the passenger detection microservice (960d).

[0261] Meanwhile, the passenger detection microservice (960d) is executed based on the result data of the passenger movement microservice (955d), and the result data of the passenger detection microservice (960d) is transmitted to the warning microservice (965d).

[0262] Meanwhile, the warning microservice (965d) is executed based on the result data of the passenger detection microservice (960d), and the result data of the warning microservice (965d) can be transmitted to and output by the audio output unit (185).

[0263] Meanwhile, the signal processing device (170) according to the embodiment of the present disclosure can further execute a gas detection (CO2 detection) microservice (950e) for a passenger monitoring application (945) corresponding to ASIL B.

[0264] Meanwhile, the gas detection (CO2 detection) microservice (950e) is executed based on sensor data from the gas sensor (SNc), and the result data of the gas detection (CO2 detection) microservice (950e) can be transmitted to the passenger movement microservice (955d).

[0265] Meanwhile, the signal processing device (170) according to the embodiment of the present disclosure may not transmit the result data of the passenger detection microservice (960b) among the microservices in the passenger monitoring application (940) corresponding to QM to the warning microservice (965d) in the passenger monitoring application (945) corresponding to ASIL B.

[0266] That is, since the safety level of the passenger detection microservice (960b) within the passenger monitoring application (940) corresponding to QM is lower than the safety level of the warning microservice (965d) within the passenger monitoring application (945) corresponding to ASIL B, the signal processing device (170) according to the embodiment of the present disclosure cannot transmit the result data of the passenger detection microservice (960b) to the warning microservice (965d) within the passenger monitoring application (945) corresponding to ASIL B. Accordingly, each safety level can be maintained.

[0267] Figure 8e illustrates another example of execution of multiple microservices corresponding to ASIL B and microservices corresponding to QM based on camera data from an internal camera (195i).

[0268] Referring to the drawing, the signal processing device (170) according to the embodiment of the present disclosure can execute a driver monitoring system (DMS) application (985) corresponding to ASIL B, similarly to FIG. 8b.

[0269] The Driver Monitoring System (DMS) application (985) is similar to the Driver Monitoring System (DMS) application (905) of FIG. 8b, but differs in that the second face detection microservice (910c) is not performed.

[0270] For example, a signal processing device (170) according to an embodiment of the present disclosure can execute a plurality of microservices, including a face detection microservice (910b), an eye movement microservice (915b), a head movement microservice (915c), a gaze tracking microservice (920b), and a warning microservice (930b), for a driver monitoring system (DMS) application (985) corresponding to ASIL B.

[0271] Meanwhile, the head movement microservice (915c) is executed based on the result data of the face detection microservice (910b), and the result data of the head movement microservice (915c) is transmitted to the gaze tracking microservice (920b).

[0272] Meanwhile, the signal processing device (170) according to the embodiment of the present disclosure can execute a third face detection microservice (910a), a face recognition microservice (915a), and a personal microservice (920a) as a plurality of microservices, which are not related to ASIL B.

[0273] Meanwhile, the signal processing device (170) according to the embodiment of the present disclosure can execute an augmented reality microservice (930c) as a microservice corresponding to QM.

[0274] At this time, the signal processing device (170) according to the embodiment of the present disclosure can transmit the result data of the eye tracking microservice (920b) among the microservices in the application (985) corresponding to ASIL B to the augmented reality microservice (930c) corresponding to QM, which has a lower safety level.

[0275] Accordingly, the augmented reality microservice (930c) corresponding to QM is executed based on the result data of the gaze tracking microservice (920b), and the result data of the augmented reality microservice (930c) can be transmitted to the display (180) and displayed.

[0276] FIG. 9 is an example of an internal block diagram of a signal processing device according to an embodiment of the present disclosure.

[0277] Referring to the drawing, a signal processing device (170) in a system (1000) according to one embodiment of the present disclosure includes a processor (175) that executes a hypervisor (505).

[0278] Meanwhile, the processor (175) can correspond to the central processor (CPU) of FIG. 6.

[0279] Meanwhile, the processor (175) may have multiple processor cores.

[0280] The drawing illustrates multiple processor cores each operating based on a safety level of ASIL B, but various variations are possible.

[0281] For example, some of the multiple processor cores may operate based on a safety level of ASIL B, while others may operate based on a safety level of QM.

[0282] Meanwhile, a signal processing device (170) according to one embodiment of the present disclosure may further include a second processor (177) including an M core or MCU (micom nuit) for executing applications of the highest safety level, ASIL D.

[0283] Meanwhile, the processor (175) executes multiple virtual machines (810 to 830) on the hypervisor (505).

[0284] Meanwhile, among the multiple virtualization machines (810 to 830), the first virtualization machine (830) executes multiple microservices (910b, 915b, 920b, 930b) corresponding to the first safety level such as ASIL B.

[0285] Meanwhile, among the plurality of virtual machines (810 to 830), the first virtual machine (830) transmits the result data of the first microservice (920b) among the plurality of microservices to the second virtual machine (820) among the plurality of virtual machines (810 to 830) corresponding to the second security level lower than the first security level or to the virtual machine within the second signal processing device (170Z). Accordingly, it is possible to perform an update of the application while the application is running. Furthermore, it is possible to perform efficient data processing using the microservice.

[0286] Meanwhile, the first virtual machine (830) can execute multiple microservices separately to execute the first application corresponding to the first security level.

[0287] That is, among the plurality of virtual machines (810 to 830), the first virtual machine (830) can separately execute a face detection microservice (910b), an eye movement microservice (915b), a gaze tracking microservice (920b), and a warning microservice (930b) as a plurality of microservices for a driver monitoring system (DMS) application (905) corresponding to a first safety level such as ASIL B.

[0288] Meanwhile, the second virtual machine (820) executes a second application corresponding to the second security level, and the second application can be executed based on the result data of the first microservice (920b).

[0289] For example, among multiple virtualization machines (810 to 830), the second virtualization machine (820) can execute an augmented reality microservice (930c) as a microservice corresponding to the second safety level, QM, as shown in FIG. 8b.

[0290] Meanwhile, among the multiple virtualization machines (810 to 830), the second virtualization machine (820) can further execute a facial recognition microservice (915a) as a microservice corresponding to the second security level, QM, as shown in FIG. 8b.

[0291] Meanwhile, among the multiple virtualization machines (810 to 830), the second virtualization machine (820) can execute an augmented reality microservice (930c) as a microservice corresponding to QM.

[0292] Meanwhile, the first virtual machine (830) can transmit the result data of the eye tracking microservice (920b) among the microservices in the application (905) corresponding to ASIL B to the augmented reality microservice (930c) corresponding to QM, which has a lower safety level.

[0293] That is, the first virtual machine (830) can transmit the result data of the eye tracking microservice (920b) among the microservices within the application (905) corresponding to ASIL B to the augmented reality microservice (930c) within the second virtual machine (820), which has a lower safety level, as shown in FIG. 8b.

[0294] Specifically, the first virtual machine (830) may execute a face detection microservice (910b), an eye movement microservice (915b), a gaze tracking microservice (920b), and a warning microservice (930b) based on the received camera data, and transmit the result data of the gaze tracking microservice (920b) to the second virtual machine (820) corresponding to the second safety level.

[0295] Meanwhile, the second virtual machine (820) can be controlled to execute the augmented reality microservice (930c) based on the result data of the eye tracking microservice (920b), as shown in FIG. 8b, and display the result data of the augmented reality microservice (930c) on the display (180).

[0296] In this way, since there is no need to run a separate eye tracking microservice (920b) within the second virtual machine (820), it is possible to perform an application update while the application is running.

[0297] Meanwhile, the first virtual machine (830) can transmit the result data of the first microservice (920b) to at least one virtual machine corresponding to a second safety level lower than the first safety level using the shared memory (508).

[0298] Meanwhile, the first virtual machine (830) can transmit the result data of the first micro service (920b) to the second virtual machine (820) corresponding to the second safety level lower than the first safety level using the shared memory (508).

[0299] Meanwhile, the first virtual machine (830) can transmit the result data of the eye tracking microservice (920b) to the augmented reality microservice (930c) within the second virtual machine (820) using the shared memory within the hypervisor (505).

[0300] In this way, when using shared memory (508) to transmit result data, 1:n result data transmission becomes possible.

[0301] Meanwhile, the second virtual machine (820) may not transmit the result data of the microservice being executed or the result data of the application to the first virtual machine (830).

[0302] That is, the second virtual machine (820) may not transmit data to the first virtual machine (830) with a higher security level.

[0303] For example, the result data of the facial recognition microservice (915a) within the second virtual machine (820) is not transmitted to the first virtual machine (830). Accordingly, the security level of each virtual machine can be maintained.

[0304] Meanwhile, among the plurality of virtual machines (810 to 830), the first virtual machine (830) may not transmit the result data of the first micro service (920b) among the plurality of micro services to a virtual machine of a third safety level higher than the first safety level.

[0305] For example, if the third virtual machine (810) among the plurality of virtual machines (810 to 830) has a third safety level higher than the first safety level, such as ASIL D, the first virtual machine (830) may not transmit the result data of the first microservice (920b) among the plurality of microservices to the third virtual machine (810) or the fourth virtual machine (840) at the third safety level higher than the first safety level. Accordingly, the safety level of each virtual machine can be maintained.

[0306] Meanwhile, some cores of the processor (175) may execute a first virtual machine (830), and other cores of the processor (175) may execute a second virtual machine (820).

[0307] In the drawing, some cores of the processor (175) execute a first virtual machine (830) corresponding to the first safety level, ASIL B, and other cores of the processor (175) execute a second virtual machine (820) corresponding to the second safety level, QM. Accordingly, it is possible to perform an update of an application while the application is running.

[0308] Meanwhile, the second processor (177) can execute an application or virtual machine of ASIL D, the highest safety level.

[0309] Meanwhile, the security level of an application or virtual machine running on the second processor (177) may be higher than the first security level. Accordingly, it is possible to perform an application update while the application is running.

[0310] Meanwhile, the second virtual machine (820) can execute a face recognition microservice (915a) based on the received camera data, as shown in FIG. 8d, and execute a personal microservice (920a), which is an additional microservice, based on the result data of the face recognition microservice.

[0311] Meanwhile, the second virtual machine (820) may execute the passenger seating microservice (950b), the passenger movement microservice (955b), the passenger detection microservice (960b), and the graphics provision microservice (965b) for the passenger monitoring application (940) corresponding to QM, as shown in FIG. 8d, based on the received sensor data or camera data, and may not transmit the service result data of the passenger detection microservice (960b) to the first virtual machine (830).

[0312] Meanwhile, if the service result data of the passenger detection microservice (960b) is not received from the second virtual machine (820), the first virtual machine (830) can execute the passenger seating microservice (950d), the passenger movement microservice (955d), the passenger detection microservice (960d), and the warning microservice (965d) for the passenger monitoring application (945) corresponding to ASIL B, based on the received sensor data or camera data, as shown in FIG. 8d. Accordingly, it is possible to perform an application update while the application is running.

[0313] Meanwhile, according to another embodiment of the present disclosure, the first virtual machine (830) within the signal processing device (170) executes the first application and transmits the result data or intermediate result data of the first application to the second virtual machine (820) or the virtual machine within the second signal processing device (170Z) corresponding to the second security level. Accordingly, it is possible to perform an application update while the application is running. Furthermore, data processing can be performed efficiently using microservices.

[0314] Meanwhile, the first virtual machine (830) may execute a first application including a plurality of microservices and transmit result data of at least some of the plurality of microservices to the second virtual machine (820) or the second signal processing device (170Z).

[0315] FIG. 10 is an example of an internal block diagram of a signal processing device according to another embodiment of the present disclosure.

[0316] Referring to the drawing, a signal processing device (170) in a system (1000b) according to another embodiment of the present disclosure can transmit data to a second signal processing device (170) or receive data from the second signal processing device (170).

[0317] Describing the difference from Fig. 9, the second signal processing device (170z) may be an area signal processing device.

[0318] The second signal processing device (170z) has a processor (175z) that executes a hypervisor (505z).

[0319] Meanwhile, the processor (175z) in the second signal processing device (170z) may have multiple processor cores.

[0320] Meanwhile, the second signal processing device (170z) may further include a separate processor (177z) including an M core or MCU (micom nuit) for executing applications of the highest safety level, ASIL D.

[0321] Meanwhile, the processor (175z) can execute at least one virtualization machine (830z) on the hypervisor (505).

[0322] Meanwhile, a separate processor (177z) can run a virtual machine (840z) corresponding to ASIL D, the highest safety level on the M core.

[0323] Meanwhile, camera data from the internal camera (195i) can be transmitted to the signal processing device (170) or the second signal processing device (170z).

[0324] In the drawing, a virtual machine (830z) within a processor (175z) is illustrated executing a camera data-based video stream application (9993).

[0325] Meanwhile, the processor (175) in the signal processing device (170) can receive sensor data or camera data from the second signal processing device (170Z).

[0326] Meanwhile, the first virtual machine (830) within the signal processing device (170) may execute a plurality of micro-services corresponding to the first safety level based on sensor data or camera data, and, as shown in FIG. 8b, may transmit the result data of the first micro-service (920b) among the plurality of micro-services to the second virtual machine (820) corresponding to the second safety level lower than the first safety level.

[0327] Meanwhile, the first virtual machine (830) within the signal processing device (170) may execute a plurality of microservices corresponding to the first safety level based on sensor data or camera data, and transmit the result data of the first microservice (920b) among the plurality of microservices to the virtual machine within the second signal processing device (170Z) corresponding to the second safety level lower than the first safety level.

[0328] For example, a first virtual machine (830) within a signal processing device (170) can transmit the result data of the gaze tracking microservice (920b) to a virtual machine (830z) within a second signal processing device (170Z) corresponding to the same safety level, ASIL B.

[0329] Accordingly, the virtual machine (830z) within the second signal processing device (170Z) does not need to separately execute the gaze tracking microservice (920b), and thus can perform an application update while the application is running.

[0330] Fig. 11 is a flowchart showing an operation method of a signal processing device according to an embodiment of the present disclosure.

[0331] Referring to the drawing, a processor (175) in a signal processing device (170) according to an embodiment of the present disclosure can execute a plurality of micro-services for application execution while the vehicle is driving.

[0332] Meanwhile, the processor (175) in the signal processing device (170) according to the embodiment of the present disclosure can receive application update data from an external mobile terminal (800) or server (900) (S1110).

[0333] For example, a processor (175) within a signal processing device (170) can receive update data of multiple microservices within an application from an external mobile terminal (800) or server (900) (S1110).

[0334] Specifically, the processor (175) within the signal processing device (170) can receive update data of the first microservice while the first application is running.

[0335] Next, the processor (175) can perform an update based on the received update data (S1120).

[0336] For example, a processor (175) within a signal processing device (170) may update a second microservice corresponding to duplication of the first microservice based on update data of the first microservice while the first application is running.

[0337] Next, the processor (175) can be controlled to operate by distributing the load between the updated second micro service and the first micro service (S1130).

[0338] For example, after the update of the second microservice is completed, the processor (175) can sequentially control the load of the second microservice to increase during the operation of the first microservice and the second microservice. Accordingly, it is possible to perform an application update while the application is running. In particular, it is possible to perform an update of the microservice while the microservice is running. Furthermore, it is possible to efficiently perform data processing using the microservice.

[0339] Meanwhile, the processor (175) can check the safety level of the microservice when executing the application before the update.

[0340] For example, the processor (175) can check whether the safety level of the microservice is ASIL D, ASIL C, ASIL B, ASIL A, or QM. ASIL D may be the highest safety level, and QM may be the lowest safety level.

[0341] Meanwhile, the processor (175) can transmit the result data of the microservice to the next microservice upon completion of execution of each microservice.

[0342] At this time, the processor (175) can control the result data to be transmitted only when the safety level of the result data of the executed microservice is higher than or equal to the safety level of the received microservice.

[0343] Meanwhile, if the safety level of the result data of the executed microservice is lower than the safety level of the received microservice, the processor (175) prevents transmission of the result data. Accordingly, the microservice or application can be executed based on the safety level.

[0344] Figures 12a to 19 are drawings referenced in the operation description of Figure 11.

[0345] Figure 12a illustrates the execution of multiple microservices (1412, 1414, 1416) for the execution of a first application (1410).

[0346] Referring to the drawing, the processor (175) can execute a plurality of micro-services (1412, 1414, 1416) for execution of the first application (1410).

[0347] Meanwhile, the result data of the first microservice (1413) is input to the second microservice (1414), the result data of the second microservice (1414) is input to the third microservice (1416), and the result data of the third microservice (1416) is output.

[0348] Figure 12b is a diagram illustrating an update of the first microservice of Figure 12a.

[0349] Referring to the drawing, when update data of the first microservice (1413) is received during execution of the first application (1410), when updating the first microservice (1413), execution of the first microservice (1413) is stopped.

[0350] Therefore, during the update of the first microservice (1413), the result data of the first microservice (1413) is not output, and the execution of the second microservice (1414), the third microservice (1416), etc. is stopped or delayed. Therefore, there is a disadvantage in that a considerable amount of time is required for the update.

[0351] In this disclosure, we propose a method for performing application updates while the application is running. In particular, we propose a method for performing microservice updates while the microservice is running. This is described with reference to FIG. 13a and below.

[0352] FIG. 13a is a diagram illustrating an example of an update of a microservice within a first application (1510).

[0353] Referring to the drawing, a processor (175) according to one embodiment of the present disclosure executes a plurality of micro-services (1512, 1514, 1516) for execution of a first application (1510).

[0354] Meanwhile, the result data of the first microservice (1513) is input to the third microservice (1514), the result data of the third microservice (1514) is input to the fourth microservice (1516), and the result data of the fourth microservice (1516) is output.

[0355] Meanwhile, when update data of the first microservice (1512) is received while the first microservice (1512) among the plurality of microservices (1512, 1514, 1516) is in operation, the processor (175) updates the second microservice (1511) corresponding to the duplication of the first microservice (1512).

[0356] And, after the update of the second micro service (1511) is completed, the processor (175) controls the operation of the first micro service (1512) and the second micro service (1511) by distributing the load to each of them.

[0357] This allows for application updates while the application is running. Specifically, microservice updates can be performed while the microservice is running. Furthermore, microservices can be used to efficiently process data.

[0358] Meanwhile, the processor (175) can sequentially control the load of the second micro service (1511) to increase when the first micro service (1512) and the second micro service (1511) are operated after the update of the second micro service (1511) is completed.

[0359] For example, the processor (175) can control the load sharing ratio of the second microservice (1511) to be set to the smallest immediately after the update of the second microservice (1511) is completed, and then sequentially increase the load sharing ratio of the second microservice (1511).

[0360] That is, the processor (175) can control the load sharing ratio of the first microservice (1512) to be set to the largest immediately after the update of the second microservice (1511) is completed, and then sequentially reduce the load sharing ratio of the first microservice (1512).

[0361] Meanwhile, the processor (175) sequentially controls the load of the second microservice (1511) to increase, so that after the first microservice (1512) and the second microservice (1511) operate together, the operation of the first microservice (1512) is terminated and only the second microservice (1511) operates. Accordingly, it is possible to perform an update of the microservice while the microservice is running.

[0362] And, the processor (175) can execute the third microservice (1514) based on the result data of the second microservice (1511) upon termination of the operation of the first microservice (1512), and can execute the fourth microservice (1516) based on the result data of the third microservice (1514).

[0363] Meanwhile, the processor (175) executes the third microservice (1514) based on the result data of the first microservice (1512) before performing an update of the second microservice (1511), and can determine whether the data reception period of the first microservice (1512) is shorter than the expected update time of the first microservice (1512).

[0364] And, if the data reception period of the first microservice (1512) is shorter than the expected update time of the first microservice (1512), the processor (175) can update the second microservice (1511) corresponding to the duplication of the first microservice (1512).

[0365] Meanwhile, if the data reception period of the first microservice (1512) is greater than or equal to the expected update time of the first microservice (1512), the processor (175) may update the first microservice (1512) instead of executing or updating the second microservice (1511). Accordingly, the update of the first microservice can be performed.

[0366] Meanwhile, the processor (175) may perform an update of a microservice corresponding to a third microservice (1514) based on the result data of the updated second microservice (1511) after the update of the second microservice (1511).

[0367] Meanwhile, the processor (175) can perform an update of the microservice corresponding to the fourth microservice (1516) after updating the microservice corresponding to the third microservice (1514).

[0368] In this way, the processor (175) can control the sequential execution of updates to multiple microservices (1512, 1514, 1516) within the first application. Accordingly, it is possible to perform an application update while the application is running.

[0369] FIG. 13b is a diagram illustrating another example of an update of a microservice within a first application (1510b).

[0370] Referring to the drawing, the update method of the microservice of Fig. 13b is similar to Fig. 13a, but the difference is that a proxy (1513) is further executed.

[0371] Meanwhile, the processor (175) controls the first microservice (1512) and the second microservice (1511) to be executed in parallel, and can adjust the result data output from the first microservice (1512) or the second microservice (1511) through the executed proxy (1513).

[0372] This allows microservice updates to be performed while they are running. Furthermore, microservices can be used to efficiently process data.

[0373] Meanwhile, the proxy (1513) can perform traffic control of the first microservice (1512) and the second microservice (1511).

[0374] Meanwhile, the proxy (1513) can output the determined output data to the outside according to the load balancing criteria at that time.

[0375] FIG. 13c is a diagram illustrating another example of an update of a microservice within a first application (1510b).

[0376] Referring to the drawing, the update method of the microservice of FIG. 13c is similar to that of FIG. 13a, but the difference is that the first proxy (1509) and the second proxy (1513) are further executed.

[0377] Meanwhile, the processor (175) may execute a first proxy (1509) to distribute input data to the first microservice (1512) and the second microservice (1511), respectively, and execute a second proxy (1513) to control result data output from the first microservice (1512) or the second microservice (1511).

[0378] This allows microservice updates to be performed while they are running. Furthermore, microservices can be used to efficiently process data.

[0379] Meanwhile, the first proxy (1509) can distribute input data according to load balancing criteria.

[0380] Meanwhile, the second proxy (1513) can output the determined output data to the outside according to the load balancing criteria at that time.

[0381] Meanwhile, the first proxy (1509) and the second proxy (1513) can maintain indexing through a sync based on shared memory (508).

[0382] Figure 14a illustrates an example of a communication method between a client and a service.

[0383] Referring to the drawing, the service (1610) can collectively deliver messages to multiple clients (1612, 1614, 1616) that are subscribing.

[0384] This method can be called the publish-subscribe method and can be used in SOA Framework, SOME / IP, DDS, etc.

[0385] Figure 14b illustrates another example of a communication method between a client and a service.

[0386] Referring to the drawing, the service (1620) can transmit a message to the client (1622, 1624) in the form of a response corresponding to a request.

[0387] This method can be called a request response method and can be used in REST, gRPC, etc.

[0388] Figures 15a and 15a are diagrams illustrating an example of a synchronization method between a first proxy and a second proxy.

[0389] First, FIG. 15a illustrates that a first proxy (1509) is executed at the input end of the first microservice (1512) and a second microservice (1511), and a second proxy (1513) is executed at the output end of the first microservice (1512) and a second microservice (1511).

[0390] Meanwhile, the first proxy (1509) can distribute input data according to load balancing criteria.

[0391] Meanwhile, the second proxy (1513) can output the determined output data to the outside according to the load balancing criteria at that time.

[0392] Figure 15b is a diagram illustrating indexing between a first proxy and a second proxy.

[0393] Referring to the drawing, the processor (175) distributes input data based on transition time information (e.g., 60 seconds) between the first micro service (1512) and the second micro service (1511).

[0394] For example, the processor (175) distributes the distribution ratio of the first microservice (1512) and the second microservice (1511) starting from 100:0 and sequentially varying to 0:100 during the transition time.

[0395] The drawing illustrates indexing (1705) and load balancing (1709).

[0396] Meanwhile, the first proxy (1509) and the second proxy (1513) can control the indexing and distribution target sink through the sink.

[0397] Figure 16a illustrates an example of a multiple pipeline configuration for updating a microservice.

[0398] Referring to the drawing, the processor (175) can execute multiple micro-services (1812, 1814, 1816) based on the first pipeline (1810) for execution of the application (1800).

[0399] Multiple microservices (1812, 1814, 1816), namely microservice A (1812), microservice B (1814), and microservice C (1816), are connected in series to transmit result data to the next microservice.

[0400] Meanwhile, the result data, which is the execution result of multiple microservices (1812, 1814, 1816), can be output as the first output.

[0401] Meanwhile, when executing multiple microservices (1812, 1814, 1816), the processor (175) can configure a new second pipeline (1820) separate from the first pipeline (1810) based on the first microservice (1812) to update the second microservice, etc.

[0402] That is, the processor (175) can be configured to have the microservices based on the second pipeline (1820) be mixed in parallel or serially for updating at least one of the plurality of microservices (1812, 1814, 1816).

[0403] In the drawing, a plurality of microservices (1822, 1824, 1826), which are A microservice (1822), D microservice (1824), and F microservice (1826), which correspond to a plurality of microservices (1812, 1814, 1816), are connected in series with each other, and a microservice (1823, 1825), which are A microservice (1823), and E microservice (1825), which are connected in parallel with some of the plurality of microservices (1822, 1824, 1826), are connected in series with each other.

[0404] Meanwhile, the result data, which is the execution result of the microservice (1826) within the second pipeline (1820), can be output as a second output separate from the first output.

[0405] That is, the processor (175) can output multi-output based result data based on the first pipeline and the second pipeline.

[0406] Accordingly, replication of pipeline units is possible and verification of pipeline units becomes possible.

[0407] Figure 16b illustrates another example of a multiple pipeline configuration for updating a microservice.

[0408] Referring to the drawing, the processor (175) can execute multiple microservices (1822, 1824, 1826) for execution of an application (1820b) or a pipeline (18020b).

[0409] Meanwhile, the processor (175) can control the execution of multiple microservices (1823b, 1824) separately from multiple microservices (1822, 1824, 1826) so that the result data of each microservice is mixed and transmitted in a serial and parallel manner.

[0410] Meanwhile, the result data, which is the execution result of the microservice (1826), can be output as a single output.

[0411] That is, the processor (175) can output single output-based result data based on a first pipeline consisting of a plurality of micro-services (1822, 1824, 1826) and a second pipeline consisting of a plurality of micro-services (1823b, 1824).

[0412] Figure 16c illustrates another example of a multiple pipeline configuration for updating a microservice.

[0413] Referring to the drawing, the processor (175) can execute a plurality of micro-services (1822, 1824, 1826) based on the first pipeline for execution of the application (1800).

[0414] In the drawing, multiple microservices (1822, 1824, 1826), namely microservice A (1822), microservice D (1824), and microservice F (1826), are each connected in series.

[0415] Meanwhile, in parallel with the first pipeline, within the second pipeline, microservice A (1823) and microservice E (1825) can be connected in series.

[0416] The result data of the D microservice (1824) and the result data of the E microservice (1825) are input to the F microservice (1826), and the result data of the F microservice (1826) can be transmitted to the proxy (1803).

[0417] Meanwhile, in parallel with the first pipeline, within the third pipeline, the A' microservice (1832), the D microservice (1834), and the F microservice (1836) can be connected in series.

[0418] Meanwhile, in parallel with the third pipeline, within the fourth pipeline, the A' microservice (1833) and the E microservice (1835) can be connected in series.

[0419] The result data of the D microservice (1834) and the result data of the E microservice (1835) are input to the F microservice (1836), and the result data of the F microservice (1836) can be transmitted to the proxy (1803).

[0420] Meanwhile, A' microservice (1832) and A' microservice (1833) may be microservices that are performing an update, corresponding to A microservice (1822) and A microservice (1823), respectively.

[0421] Finally, according to FIG. 16c, the processor (175) can output single output-based result data based on multiple pipelines.

[0422] Figure 17a illustrates another example of a multiple pipeline configuration for updating a microservice.

[0423] Referring to the drawings, Fig. 17a illustrates that some updates have been completed compared to Fig. 16a.

[0424] The processor (175) can execute multiple microservices (1812b, 1814, 1816) based on the first pipeline (1810) to execute the application (1800).

[0425] Multiple microservices (1812b, 1814, 1816) can be serially connected, respectively, as A' microservice (1812b), B microservice (1814), and C microservice (1816).

[0426] Meanwhile, the result data of the C microservice (1816) can be output as the first output.

[0427] Meanwhile, the A' microservice (1812b) may be an updated version of the A microservice.

[0428] Meanwhile, in parallel with the first pipeline (1810), within the second pipeline (20), the A microservice (1822), the D microservice (1824), and the F microservice (1826) can be connected in series, respectively.

[0429] Meanwhile, in parallel with A microservice (1822) and D microservice (1824) within the second pipeline (20), A microservice (1823) and E microservice (1825) can be connected in series.

[0430] Meanwhile, the result data of the D microservice (1824) and the result data of the E microservice (1825) are input to the F microservice (1826), and the result data of the F microservice (1826) can be output as a second output.

[0431] Finally, according to FIG. 17a, the processor (175) can output multi-output based result data based on multiple pipelines.

[0432] Figure 17b illustrates another example of a multiple pipeline configuration for updating a microservice.

[0433] Referring to the drawings, Fig. 17b illustrates that some updates have been completed compared to Fig. 16c.

[0434] The processor (175) can execute a first proxy (1801), which is an input proxy, and a second proxy (1803), which is an output proxy.

[0435] The first proxy (1801), which is an input proxy, can stop the execution of multiple micro-services (1822, 1824, 1826) based on the first pipeline and multiple micro-services (1823, 1825) based on the second pipeline that is in parallel with the first pipeline.

[0436] Meanwhile, the first proxy (1801), which is an input proxy, can stop the execution of multiple micro-services (1832, 1834, 1836) based on the third pipeline and multiple micro-services (1833, 1835) based on the fourth pipeline that is in parallel with the third pipeline.

[0437] Meanwhile, the second proxy (1803), which is an output proxy, may not output the result data of the F microservice (1826).

[0438] Meanwhile, the second proxy (1803), which is an output proxy, can be controlled to output the result data of the F microservice (1836).

[0439] Meanwhile, when critical data is input during the simultaneous execution of the first microservice (1822) and the second microservice (1832), the processor (175) can provide the critical data only to the second microservice (1832).

[0440] Alternatively, when critical data is input during the simultaneous execution of microservices within the first pipeline and microservices within the second pipeline, the processor (175) may provide the critical data only to the microservices within the second pipeline. Accordingly, the microservices can be performed stably.

[0441] Figure 18 illustrates an example of an architecture running within a processor.

[0442] Referring to the drawing, a processor (175) according to one embodiment of the present disclosure can execute a plurality of micro-services (1512, 1514, 1516) for execution of a first application (1510).

[0443] At this time, the processor (175) can control the operation of the first micro service (1512) among the plurality of micro services (1512, 1514, 1516), to update the first micro service (1512), update the second micro service (1511) corresponding to the duplication of the first micro service (1512), and distribute the load to the first micro service (1512) and the second micro service (1511) after the update of the second micro service (1511) is completed.

[0444] Meanwhile, the processor (175) controls the first microservice (1512) and the second microservice (1511) to be executed in parallel, and can adjust the result data output from the first microservice (1512) or the second microservice (1511) through the executed proxy (1513).

[0445] Meanwhile, the processor (175) can receive data from an orchestrator (2000) including an API server (2005) and execute a microservice.

[0446] Alternatively, the processor (175) may execute an orchestrator (2000) including an API server (2005), receive data from the orchestrator (2000), and execute a microservice.

[0447] Meanwhile, the processor (175) can receive data from a data provider (2010) including an update manager (2012), a resource (2014), and a controller (2015) and execute a microservice.

[0448] Alternatively, the processor (175) may execute a data provider (2010) including an update manager (2012), a resource (2014), and a controller (2015), and receive data from the data provider (2010) to execute a microservice.

[0449] Figure 19 illustrates an example of an architecture running in a signal processing device.

[0450] Referring to the drawing, a signal processing device (170) according to one embodiment of the present disclosure may include a CPU (175), a GPU (178), an NPU (179), etc.

[0451] Meanwhile, the signal processing device (170) can execute a worker node (2110) including a middleware (2112) and a node agent (2114) through a processor (175), etc., and execute an application (2132, 2134, 2136), a container runtime (2133), and an orchestrator client (2135) on the worker node (2110).

[0452] Meanwhile, the signal processing device (170) may execute a master node (2005) including a gateway (2005) through a processor (175) or the like, execute an orchestrator (2000) including an API server (2005) on the master node (2005), and execute a data providing unit (2010) on the orchestrator (2000).

[0453] The data provider (2010) may include an update manager (2012), a resource (2014), and a controller (2015).

[0454] Meanwhile, the node agent (2114) can exchange data with the gateway (2005).

[0455] Meanwhile, the orchestrator client (2135) can exchange data with the API server (2005), the update manager (2012), or the controller (2015).

[0456] Although the preferred embodiments of the present disclosure have been illustrated and described above, the present disclosure is not limited to the specific embodiments described above, and various modifications may be made by a person skilled in the art to which the present invention pertains without departing from the gist of the present disclosure as claimed in the claims, and such modifications should not be understood individually from the technical idea or prospect of the present disclosure.

Claims

1. A processor executing a first application; The above processor, To execute the above first application, multiple microservices are executed respectively, During the operation of the first microservice among the plurality of microservices, for the update of the first microservice, the second microservice corresponding to the duplication of the first microservice is updated, A signal processing device that controls the operation of the first microservice and the second microservice by distributing loads to each of them after the update of the second microservice is completed.

2. In paragraph 1, The above processor, A signal processing device that sequentially controls the load of the second microservice to increase when the first microservice and the second microservice are operated after the update of the second microservice is completed.

3. In paragraph 1, The above processor, A signal processing device that controls, after the operations of the first microservice and the second microservice, the operation of the first microservice is terminated and only the second microservice is operated.

4. In paragraph 1, The above processor, Based on the result data of the first microservice, the third microservice is executed, A signal processing device that updates the second microservice corresponding to the duplication of the first microservice when the data reception period of the first microservice is shorter than the expected update time of the first microservice.

5. In paragraph 4, The above processor, A signal processing device that updates the first microservice, rather than executing or updating the second microservice, when the data reception period of the first microservice is greater than or equal to the expected update time of the first microservice.

6. In paragraph 1, The above processor, Controls the above first microservice and the above second microservice to be executed in parallel, respectively; A signal processing device that controls result data output from the first microservice or the second microservice through a running proxy.

7. In paragraph 1, The above processor, Run a first proxy to distribute input data to the first microservice and the second microservice, respectively; A signal processing device that executes a second proxy that controls result data output from the first microservice or the second microservice.

8. In paragraph 7, The above first proxy and the above second proxy, A signal processing device that maintains indexing through a shared memory-based sink.

9. In paragraph 1, The above processor, Based on the result data of the first microservice, when the third microservice is executed, the second microservice corresponding to the duplication of the first microservice is updated for the update of the first microservice, A signal processing device that updates a fourth microservice corresponding to the third microservice based on the result data of the updated second microservice.

10. In paragraph 1, The above processor, A signal processing device that, when executing the plurality of microservices, configures a new second pipeline separate from the first pipeline based on the first microservice, and updates the second microservice.

11. In paragraph 10, The above processor, A signal processing device that outputs single output-based result data based on the first pipeline and the second pipeline.

12. In paragraph 10, The above processor, A signal processing device that outputs result data based on multi-output based on the first pipeline and the second pipeline.

13. In paragraph 1, The above processor, A signal processing device that sequentially performs updates for each of the above plurality of microservices.

14. In paragraph 1, The above processor, A signal processing device that provides, during simultaneous execution of the first microservice and the second microservice, when critical data is input, the critical data only to the second microservice.

15. In paragraph 1, The above processor, Run the hypervisor, Running multiple virtual machines on the hypervisor, Among the above multiple virtual machines, the first virtual machine is: A signal processing device that executes the plurality of microservices corresponding to the first safety level and transmits result data of the plurality of microservices or result data of some microservices of the plurality of microservices to a second virtual machine among the plurality of virtual machines corresponding to a second safety level lower than the first safety level or to a virtual machine within the second signal processing device.

16. In paragraph 15, The above second virtual machine, Executes a second application corresponding to the second safety level, The second application above, A signal processing device that is executed based on the result data of the first microservice.

17. In paragraph 15, The above second virtual machine, A signal processing device that does not transmit result data of a running microservice or result data of an application to the first virtual machine.

18. In paragraph 15, Some cores of the above processor, Run the above first virtual machine, The other cores of the above processor are: A signal processing device that runs the second meteorological machine.

19. In Article 15, The above first virtual machine, A signal processing device that executes a plurality of microservices corresponding to the first safety level based on input sensor data or camera data, and transmits result data of the first microservice among the plurality of microservices to a second virtual machine corresponding to the second safety level that is lower than the first safety level.

20. At least one display; A signal processing device for outputting a video signal to the above display; The above signal processing device, A vehicle display device comprising a signal processing device according to any one of claims 1 to 19.

Citation Information

Patent Citations

  • Control program, control method, and information processing device

    JP2023142076A

  • Method of Updating Edge Application with Seamless Service in Micro Service Edge Application

    KR102232364B1

  • Microcontroller Update Managemnet Method and Management System

    KR102397340B1

  • Deploying and managing containers to provide a highly available distributed file system

    US10855770B2

  • Decentralization processing method, communication proxy, host, and storage medium

    US20220109741A1