IP Library › Granted Patent US 12,229,597
Granted Patent B2
US 12,229,597 · App. 17/426,439 · Granted Feb 18, 2025

Electronic device and method for controlling electronic device

Inventor: Hyunuk Tak (Suwon-si, KR)
Assignee: SAMSUNG ELECTRONICS CO., LTD.
G06F9/5027G06F9/45558
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,229,597
App. No.
17/426,439
Granted
Feb 18, 2025
Kind
B2
Abstract

An electronic device and a method for controlling the electronic device where a plurality of program areas corresponding to a host operating system and a plurality of virtual machines and a shared area corresponding to the host operating system and the plurality of virtual machines are allocated to a memory of the electronic device; and based on a request to install, in a second area among the plurality of program areas, a second application program corresponding to a first application program stored in a first area among the plurality of program areas, at least a part of data relating to the first application program is transferred from the first area to the shared area.

Claims (39)

1. An electronic device comprising:

a memory to store at least one instruction; and

a processor to execute the at least one instruction stored in the memory to control the electronic device,

wherein the processor is further configured to:

allocate a plurality of program areas corresponding to a host operating system and a plurality of virtual machines to the memory and allocate a shared area corresponding to the host operating system and the plurality of virtual machines to the memory, and

based on a request to install a second application program in a second area among the plurality of program areas, identify whether the second application program corresponds to a first application program stored in a first area among the plurality of program areas,

based on the second application program corresponding to the first application program, maintain user data regarding a user in the first area of the plurality of program areas, and move data other than the user data regarding the first application program from the first area of the plurality of program areas to the shared area, and

based on the second application program not being corresponding to the first application program, install the second application program in the second area.

2. The electronic device of claim 1 , wherein the shared area comprises a first shared area corresponding to the host operating system and a second shared area corresponding to the plurality of virtual machines, and

wherein the processor is further configured to,

based on the request to install the second application program being to the second area which is a program area corresponding to a second virtual machine among the plurality of program areas and the first application program is stored in the first area which is a program area corresponding to a first virtual machine among the plurality of program areas, transfer at least a part of the data relating to the first application program from the program area corresponding to the first virtual machine to the second shared area.

3. The electronic device of claim 1 , wherein the shared area comprises a first shared area corresponding to the host operating system and a second shared area corresponding to the plurality of virtual machines,

wherein the processor is further configured to,

provided the request to install the second application program is to the second area which is a program area corresponding to a second virtual machine among the plurality of program areas, and the first application program is stored in the first area which is a program area corresponding to a host operating system among the plurality of program areas, transfer at least a part of the data relating to the first application program from a program area corresponding to the host operating system to the first shared area.

4. The electronic device of claim 1 , wherein the processor is further configured to,

based on at least a part of the data relating to the first application program being transferred to the shared area, increase a reference count relating to a number of times when the at least the part of the data relating to the first application program is transferred from the plurality of program areas to the shared area and a number of times when the user data among the at least the part of the data relating to the first application program is deleted from the plurality of program areas.

5. The electronic device of claim 4 , wherein the processor is further configured to, based on a request to delete the first application program from the first area, delete the user data from the first area, and based on the user data being deleted, reduce the reference count.

6. The electronic device of claim 5 , wherein the processor is further configured to, based on the request to delete the first application program from the first area, determine whether to delete the first application program based on the reference count.

7. The electronic device of claim 6 , wherein the processor is further configured to, based on the reference count being greater than zero, maintain data relating to the first application program in the shared area, and

based on the reference count being zero, delete the data relating to the first application program from the shared area.

8. A method of controlling an electronic device, the method comprising:

allocating a plurality of program areas corresponding to a host operating system and a plurality of virtual machines to a memory of the electronic device and allocating a shared area corresponding to the host operating system and the plurality of virtual machines to the memory of the electronic device;

based on a request to install a second application program in a second area among the plurality of program areas, identifying whether the second application program corresponds to a first application program stored in a first area among the plurality of program areas;

based on the second application program corresponding to the first application program, maintaining user data regarding a user in the first area of the plurality of program areas, and moving data other than the user data regarding the first application program from the first area of the plurality of program areas to the shared area; and

based on the second application program not being corresponding to the first application program, installing the second application program in the second area.

9. The method of claim 8 , wherein the shared area comprises a first shared area corresponding to the host operating system and a second shared area corresponding to the plurality of virtual machines, and,

wherein based on the request to install the second application program being to the second area which is a program area corresponding to a second virtual machine among the plurality of program areas and the first application program is stored in the first area which is a program area corresponding to a first virtual machine among the plurality of program areas, transferring at least a part of the data relating to the first application program from the program area corresponding to the first virtual machine to the second shared area.

10. The method of claim 8 , wherein the shared area comprises a first shared area corresponding to the host operating system and a second shared area corresponding to the plurality of virtual machines,

wherein based on the request to install the second application program being to the second area which is a program area corresponding to a second virtual machine among the plurality of program areas, and the first application program is stored in the first area which is a program area corresponding to a host operating system among the plurality of program areas, transferring at least a part of the data relating to the first application program from the program area corresponding to the host operating system to the first shared area.

11. The method of claim 8 , further comprising:

based on at least a part of the data relating to the first application program being transferred to the shared area, increasing a reference count relating to a number of times when the at least the part of the data relating to the first application program is transferred from the plurality of program areas to the shared area and a number of times when the user data among the at least the part of the data relating to the first application program is deleted from the plurality of program areas.

12. The method of claim 11 , further comprising:

based on a request to delete the first application program from the first area, deleting the user data from the first area; and

based on the user data being deleted, reducing the reference count.

13. A non-transitory computer-readable recording medium including a program to execute a method for controlling an electronic device, the method comprising:

allocating a plurality of program areas corresponding to a host operating system and a plurality of virtual machines to a memory of the electronic device and allocating a shared area corresponding to the host operating system and the plurality of virtual machines to the memory of the electronic device;

based on a request to install a second application program in a second area among the plurality of program areas identifying whether the second application program corresponds to a first application program stored in a first area among the plurality of program areas;

based on the second application program corresponding to the first application program, maintaining user data regarding a user in the first area of the plurality of program areas, and moving data other than the user data regarding the first application program from the first area of the plurality of program areas to the shared area; and

based on the second application program not being corresponding to the first application program, installing the second application program in the second area.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 6, 2021
From: TAK, HYUNUK
To: SAMSUNG ELECTRONICS CO., LTD.
Reel/Frame 057104/0175 →
Priority Claims (1)
KR 10-2019-0010323 · Jan 28, 2019 · national
Continuity (1)
Related Publication 20220107841A1 · Apr 7, 2022
References Cited (39)
US 7334076B2 · Hendel et al. · 2008 [cited by applicant]
US 8161479B2 · Sedukhin · 2012 [cited by examiner]
US 8402529B1 · Green · 2013 [cited by examiner]
US 8806479B2 · Alpern · 2014 [cited by examiner]
US 9286102B1 · Harel · 2016 [cited by examiner]
US 9311250B2 · Van De Ven · 2016 [cited by examiner]
US 9501394B2 · Kohl et al. · 2016 [cited by applicant]
US 10466991B1 · Hussain · 2019 [cited by examiner]
US 10698712B2 · Reddy · 2020 [cited by examiner]
US 11418555B1 · Cafaro · 2022 [cited by examiner]
US 20060206658A1 · Hendel et al. · 2006 [cited by applicant]
US 20100217916A1 · Gao · 2010 [cited by examiner]
US 20120216185A1 · Dai et al. · 2012 [cited by applicant]
US 20130159596A1 · Van De Ven et al. · 2013 [cited by applicant]
US 20150186129A1 · Apte · 2015 [cited by examiner]
US 20150347173A1 · Shen · 2015 [cited by examiner]
US 20160048464A1 · Nakajima et al. · 2016 [cited by applicant]
US 20160098285A1 · Davis · 2016 [cited by examiner]
US 20160188312A1 · Shi · 2016 [cited by examiner]
US 20170364380A1 · Frye, Jr. · 2017 [cited by examiner]
US 20170364394A1 · Fujita · 2017 [cited by examiner]
US 20200065016A1 · Jiang et al. · 2020 [cited by applicant]
US 20200192694A1 · Ishiko et al. · 2020 [cited by applicant]
US 20220318098A1 · Batraev · 2022 [cited by examiner]
JP 2006268123A · 2006 [cited by applicant]
JP 2014235637A · 2014 [cited by applicant]
KR 20020078749A · 2002 [cited by applicant]
KR 1020060099404A · 2006 [cited by applicant]
KR 1020130070501 · 2013 [cited by applicant]
KR 1020140092493A · 2014 [cited by applicant]
KR 1020150078286A · 2015 [cited by applicant]
KR 10172909781 · 2017 [cited by applicant]
KR 101841847B1 · 2018 [cited by applicant]
KR 1020200021867A · 2020 [cited by applicant]
Office Action dated Jun. 22, 2023 in European Patent Application No. 19 912 674.9. [cited by applicant]
Office Action dated Jan. 23, 2024 in Korean Patent Application No. 10-2019-0010323. [cited by applicant]
Extended European Search Report dated Feb. 11, 2022 in European Patent Application No. 19912674.9 (8 pages). [cited by applicant]
International Search Report, dated Mar. 17, 2020, in International Application No. PCT/KR2019/016311. [cited by applicant]
Written Opinion of the International Searching Authority, Form PCT/ISA/237, in International Application No. PCT/KR2019/016311. [cited by applicant]