IP Library Granted Patent US 12,436,795
Granted Patent B2
US 12,436,795 · App. 18/191,360 · Granted Oct 7, 2025

Electronic apparatus and method for controlling electronic apparatus

Inventors: Hyungjun Choi (Suwon-si, KR); Heesik Jeon (Suwon-si, KR); Hyoungsu Kim (Suwon-si, KR); Jongyoub Ryu (Suwon-si, KR); Yusun Son (Suwon-si, KR); Dojun Yang (Suwon-si, KR)
Assignee: Samsung Electronics Co., Ltd.
G06F9/45558G06F3/167
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,436,795
App. No.
18/191,360
Granted
Oct 7, 2025
Kind
B2
Abstract

An electronic apparatus is provided. The electronic apparatus includes a microphone, a memory configured to store at least one instruction, and a processor configured to execute the at least one instruction, and the processor may be configured to, by executing the at least one instruction, obtain a first command set corresponding to a first user voice input through the microphone and execute the obtained first command set on a host operating system, based on a user command different from the first user voice being input while the first command set is executed, identify whether it is possible to execute the first command set on a virtual machine through a bridge module, and based on a result of the identification, execute a command on the virtual machine through the bridge module and execute an operation corresponding to the user command on the host operating system.

Claims (55)

1. An electronic apparatus comprising:

a microphone;

a memory configured to store at least one instruction; and

at least one processor configured to execute the at least one instruction,

wherein the at least one processor is further configured to:

by executing the at least one instruction, obtain a first command set corresponding to a first user voice input through the microphone and execute the obtained first command set on a host operating system,

based on a user command different from the first user voice being input while the first command set is executed, identify whether it is possible to execute the first command set on a virtual machine through a bridge module, and

based on a result of identification, execute a command that is not executed on the host operating system from the first command set on the virtual machine through the bridge module and execute an operation corresponding to the user command on the host operating system.

2. The electronic apparatus of claim 1 , wherein the at least one processor is further configured to:

load a first model trained to output a command set corresponding to a user voice input through the microphone stored in the memory;

obtain the first command set by inputting the first user voice input through the microphone to the first model on the host operating system; and

based on the user command being a second user voice different from the first user voice input through the microphone, obtain a second command set by inputting the second user voice to the first model.

3. The electronic apparatus of claim 2 , wherein the at least one processor is further configured to:

identify whether there is a command that is being executed on the virtual machine through the bridge module;

based on identifying that there is a command that is being executed on the virtual machine, identify that the first command set is not executable on the virtual machine; and

based on execution of a command that is being executed on the virtual machine being completed, execute a command that is not executed on the host operating system from the first command set.

4. The electronic apparatus of claim 2 ,

wherein the first command set and the second command set are commands executed through a first application, and

wherein the at least one processor is further configured to:

identify whether the first application is executable on the host operating system and the virtual machine simultaneously through the bridge module, and

based on whether the first application is executable on the host operating system and the virtual machine simultaneously, decide to execute each of the command that is not executed on the host operating system from the first command set and the second command set on one of the host operating system or the virtual machine.

5. The electronic apparatus of claim 4 , wherein the at least one processor is further configured to, based on identifying that the first application is executable on the host operating system and the virtual machine simultaneously, decide to execute a command that is not executed on the host operating system from the first command set on the virtual machine through the bridge module.

6. The electronic apparatus of claim 1 , wherein the at least one processor is further configured to:

based on occurrence of an event requiring a user input while a command that is not executed on the host operating system from the first command set is executed on the virtual machine, provide a message indicating the event; and

based on information corresponding to the event being input from a user, control to provide the information regarding the event to the virtual machine.

7. The electronic apparatus of claim 6 , wherein the at least one processor is further configured to:

based on occurrence of an event requiring user authentication from the event while a command that is not executed on the host operating system from the first command set is executed on the virtual machine, control to provide a message requesting the user authentication on the host operating system, and

based on information for authenticating the user being input from the user, control to provide the information for authenticating the user on the virtual machine.

8. The electronic apparatus of claim 2 ,

wherein the bridge module includes a second model trained to output a score representing a degree of urgency of command execution, and

wherein the at least one processor is further configured to:

based on a second user voice being input through the microphone while the first command set is executed, obtain a score corresponding to the second command set by inputting the second user voice to the second model through the bridge module, and

execute the second command set on the host operating system based on the obtained score.

9. The electronic apparatus of claim 8 , wherein the at least one processor is further configured to:

based on the obtained score exceeding a threshold value, execute the second command set on the host operating system and execute a command that is not executed on the host operating system from the first command set on the virtual machine, and

based on the obtained score being equal to or lower than the threshold value, execute the second command set after execution of the first command is completed on the host operating system.

10. The electronic apparatus of claim 1 , wherein the at least one processor is further configured to, based on execution of a command that is not executed on the host operating system from the first command set being completed on the virtual machine, update state information of an application corresponding to the first command set on the host operating system.

11. A method of controlling an electronic apparatus including a microphone, the method comprising:

obtaining a first command set corresponding to a first user voice input through the microphone on a host operating system;

based on a user command different from the first user voice being input while the first command set is executed, identifying whether it is possible to execute the first command set on a virtual machine through a bridge module; and

based on a result of the identification, executing a command that is not executed on the host operating system from the first command set on the virtual machine through the bridge module and executing an operation corresponding to the user command on the host operating system.

12. The method of claim 11 , wherein the obtaining of the first command set comprises:

loading a first model trained to output a command set corresponding to a user voice input through the microphone stored in a memory;

obtaining the first command set by inputting the first user voice input through the microphone to the first model on the host operating system; and

based on the user command being a second user voice different from the first user voice input through the microphone, obtaining a second command set by inputting the second user voice to the first model.

13. The method of claim 11 , wherein the identifying of whether it is possible to execute the first command set comprises:

identifying whether there is a command that is being executed on the virtual machine through the bridge module;

based on identifying that there is a command that is being executed on the virtual machine, identifying that the first command set is not executable on the virtual machine; and

based on execution of a command that is being executed on the virtual machine being completed, executing a command that is not executed on the host operating system from the first command set.

14. The method of claim 12 ,

wherein the first command set and the second command set are commands executed through a first application, and

wherein the identifying of whether it is possible to execute the first command set comprises:

identifying whether the first application is executable on the host operating system and the virtual machine simultaneously through the bridge module, and

based on whether the first application is executable on the host operating system and the virtual machine simultaneously, deciding to execute each of the command that is not executed on the host operating system from the first command set and the second command set on one of the host operating system or the virtual machine.

15. The method of claim 14 , wherein the deciding of whether it is possible to execute the first command set comprises, based on identifying that the first application is executable on the host operating system and the virtual machine simultaneously, deciding to execute a command that is not executed on the host operating system from the first command set on the virtual machine through the bridge module.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 28, 2023
From: CHOI, HYUNGJUN; JEON, HEESIK; KIM, HYOUNGSU; RYU, JONGYOUB; SON, YUSUN; YANG, DOJUN
To: SAMSUNG ELECTRONICS CO., LTD.
Reel/Frame 063125/0556 →
Priority Claims (1)
KR 10-2020-0131244 · Oct 12, 2020 · national
Continuity (2)
Continuation PCTKR2021011592 · Aug 30, 2021
Related Publication 20230236869A1 · Jul 27, 2023
References Cited (34)
US 8082153B2 · Coffman et al. · 2011 [cited by applicant]
US 9032313B2 · Shiga · 2015 [cited by applicant]
US 9063793B2 · Kim et al. · 2015 [cited by applicant]
US 9910721B2 · Wu et al. · 2018 [cited by applicant]
US 10013267B1 · Wagner · 2018 [cited by examiner]
US 10127011B2 · Bang et al. · 2018 [cited by applicant]
US 10534624B2 · Antill et al. · 2020 [cited by applicant]
US 10768892B2 · Bang et al. · 2020 [cited by applicant]
US 10846124B2 · Ni et al. · 2020 [cited by applicant]
US 11099812B2 · Bang et al. · 2021 [cited by applicant]
US 11188376B1 · Alexander · 2021 [cited by examiner]
US 11450315B2 · Kim et al. · 2022 [cited by applicant]
US 20100107069A1 · Shiga · 2010 [cited by applicant]
US 20120297382A1 · Kim et al. · 2012 [cited by applicant]
US 20160034253A1 · Bang et al. · 2016 [cited by applicant]
US 20160284351A1 · Ha et al. · 2016 [cited by applicant]
US 20160372112A1 · Miller · 2016 [cited by examiner]
US 20180143857A1 · Anbazhagan et al. · 2018 [cited by applicant]
US 20190012142A1 · Bang et al. · 2019 [cited by applicant]
US 20200051554A1 · Kim et al. · 2020 [cited by applicant]
US 20200364028A1 · Bang et al. · 2020 [cited by applicant]
US 20210216384A1 · Vlasyuk et al. · 2021 [cited by applicant]
JP 2010103721A · 2010 [cited by applicant]
KR 1020120078368A · 2012 [cited by applicant]
KR 101348645B1 · 2014 [cited by applicant]
KR 1020150029197A · 2015 [cited by applicant]
KR 101495862B1 · 2015 [cited by applicant]
KR 1020160016491A · 2016 [cited by applicant]
KR 101601680B1 · 2016 [cited by applicant]
KR 101748182B1 · 2017 [cited by applicant]
KR 1020180084392A · 2018 [cited by applicant]
KR 1020180110975A · 2018 [cited by applicant]
KR 1020190080990A · 2019 [cited by applicant]
Korean Notice of Allowance dated Mar. 17, 2025, issued in Korean Application No. 10-2020-0131244. [cited by applicant]