IP Library Granted Patent US 12,379,911
Granted Patent B2
US 12,379,911 · App. 18/105,581 · Granted Aug 5, 2025

Application installation method and electronic device for supporting same

Inventors: Kwanhee Jeong (Suwon-si, KR); Sergei Andreevich Lonchakov (Moscow, RU); Ivan Aleksandrovich Titarenko (Moscow, RU); Ivan Stepanovich Maidanskii (Moscow, RU); Gyoungseok Jeon (Suwon-si, KR)
Assignee: SAMSUNG ELECTRONICS CO., LTD.
G06F8/61G06F9/4451
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,379,911
App. No.
18/105,581
Granted
Aug 5, 2025
Kind
B2
Abstract

An electronic device includes: a communication circuit; a memory; and a processor operatively connected to the communication circuit and the memory. The processor is configured to: receive an application from an external electronic device through the communication circuit; determine whether a profile related to the application exists in the memory; execute the application in a background state based on a determination that the profile related to the application does not exist in the memory; generate a profile related to the application executed in the background state; and install the application based on the generated profile.

Claims (44)

1. An electronic device comprising:

a communication circuit;

memory storing instructions; and

at least one processor,

wherein the instructions, executed individually or collectively by the at least one processor, cause the electronic device to:

receive an application from an external electronic device through the communication circuit;

determine whether a profile related to the application exists in the memory;

by generating a virtual instance to execute the application through a virtual display, execute the application in a background state based on a determination that the profile related to the application does not exist in the memory;

generate the profile related to execution history of a bytecode of the application executed in the background state, wherein the profile comprises classes and methods that have been called more than a threshold number of times during execution of the application; and

install the application based on the generated profile which includes a partial code, without compiling the partial code;

wherein the profile related to the application does not correspond to a Just-In-Time (JIT) code of a JIT scheme.

2. The electronic device of claim 1 , wherein:

the instructions, executed individually or collectively by the at least one processor, cause the electronic device to generate the virtual instance for executing the application in the background state,

the virtual instance comprises an activity element configured to use a resource related to a display of the electronic device, and

the activity element is not displayed on the display.

3. The electronic device of claim 1 , wherein the instructions, executed individually or collectively by the at least one processor, cause the electronic device to generate the profile related to the application, based on the application executed in the background state for a designated time.

4. The electronic device of claim 3 , wherein the instructions, executed individually or collectively by the at least one processor, cause the electronic device to end execution of the application based on the generated profile related to the application.

5. The electronic device of claim 1 , wherein the instructions, executed individually or collectively by the at least one processor, cause the electronic device to limit execution of one function among functions of the application based on the application executed in the background state.

6. The electronic device of claim 5 , wherein the limited one function comprises at least one of a communication function, a sound function, a notification function, a log output function, a function of reporting errors occurring during execution, or a function of controlling devices included in the electronic device.

7. The electronic device of claim 1 , wherein the instructions, executed individually or collectively by the at least one processor, cause the electronic device to:

verify codes of the application before executing the application in the background state; and

omit verification of the codes in a process of installing the application, based on the generated profile.

8. The electronic device of claim 1 , wherein the instructions, executed individually or collectively by the at least one processor, cause the electronic device to:

assume that a verification of codes of the application is completed, when executing the application in the background state; and

verify the codes in a process of installing the application, based on the generated profile.

9. The electronic device of claim 1 , wherein the instructions, executed individually or collectively by the at least one processor, cause the electronic device to reinstall the application, based on the generated profile, or recompile at least a partial code of the installed application.

10. A method for installing an application by an electronic device, the method comprising:

receiving the application from an external electronic device through a communication circuit of the electronic device;

determining whether a profile related to the application exists in a memory of the electronic device;

by generating a virtual instance to execute the application through a virtual display, executing the application in a background state based on a determination that the profile does not exist in the memory of the electronic device;

generating the profile related to execution history of a bytecode of the application executed in the background state, wherein the profile comprises classes and methods that have been called more than a threshold number of times during execution of the application; and

installing the application, based on the generated profile which includes a partial code, without compiling the partial code;

wherein the profile related to the application does not correspond to a Just-In-Time (JIT) code of a JIT scheme.

11. The method of claim 10 , wherein the executing of the application in the background state comprises generating the virtual instance for executing the application in the background state, and

the virtual instance comprises an activity element configured to use, without being displayed on a display of the electronic device, a resource related to the display.

12. The method of claim 10 , wherein the executing of the application in the background state comprises limiting execution of one function among functions of the application.

13. The method of claim 10 , further comprising performing verification of codes included in the application before executing the application in the background state,

wherein verification of the codes is omitted in the installing of the application, based on the generated profile.

14. The method of claim 10 , further comprising assuming verification of codes included in the application completed, when executing the application in the background state,

wherein verification of the codes is performed in the installing of the application, based on the generated profile.

15. The method of claim 10 , wherein the installing of the application, based on the generated profile, comprises reinstalling the application, based on the generated profile, or recompiling at least a partial code of the installed application.

16. The method of claim 10 , wherein the generating of the profile related to the application comprises generating the profile related to the application based on the application executed in the background state for a designated time.

17. The method of claim 16 , further comprising ending executing of the application based on the generated profile related to the application.

18. The method of claim 12 , wherein the limited function comprises at least one of a communication function, a sound function, a notification function, a log output function, a function of reporting errors occurring during execution, or a function of controlling devices included in the electronic device.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 3, 2023
From: JEONG, KWANHEE; LONCHAKOV, SERGEI ANDREEVICH; TITARFNKO, IVAN ALEKSANDROVICH; MAIDANSKII, IVAN STEPANOVICH; JEON, GYOUNGSEOK
To: SAMSUNG ELECTRONICS CO., LTD.
Reel/Frame 062660/0728 →
Priority Claims (1)
KR 10-2020-0096989 · Aug 3, 2020 · national
Continuity (2)
Continuation PCTKR2021010028 · Aug 2, 2021
Related Publication 20230185554A1 · Jun 15, 2023
References Cited (36)
US 9348567B2 · Sharma et al. · 2016 [cited by applicant]
US 9442707B2 · Sathyanathan et al. · 2016 [cited by applicant]
US 10664251B2 · Barton et al. · 2020 [cited by applicant]
US 11055075B2 · Lee · 2021 [cited by applicant]
US 11327739B2 · Jeong et al. · 2022 [cited by applicant]
US 11388012B2 · Loreskar et al. · 2022 [cited by applicant]
US 11429256B2 · Ham · 2022 [cited by applicant]
US 11442745B1 · Blackburn · 2022 [cited by examiner]
US 11449318B2 · Jeong et al. · 2022 [cited by applicant]
US 20030066060A1 · Ford · 2003 [cited by applicant]
US 20100175056A1 · Ogawa et al. · 2010 [cited by applicant]
US 20120233602A1 · Ramaswamy et al. · 2012 [cited by applicant]
US 20140245194A1 · Wright et al. · 2014 [cited by applicant]
US 20140298307A1 · Johnson et al. · 2014 [cited by applicant]
US 20150365463A1 · Quan · 2015 [cited by examiner]
US 20150378703A1 · Govindaraju · 2015 [cited by examiner]
US 20170346802A1 · Gruskin · 2017 [cited by examiner]
US 20180039453A1 · Nakajima et al. · 2018 [cited by applicant]
US 20190265958A1 · Ayers · 2019 [cited by examiner]
KR 1020130134790A · 2013 [cited by applicant]
KR 1020150094166A · 2015 [cited by applicant]
KR 101593583 · 2016 [cited by examiner]
KR 101593583B1 · 2016 [cited by applicant]
KR 101713177B1 · 2017 [cited by applicant]
KR 1020170071360A · 2017 [cited by applicant]
KR 1020190045765A · 2019 [cited by applicant]
KR 1020200046080A · 2020 [cited by applicant]
KR 1020210029621A · 2021 [cited by applicant]
KR 1020210046426A · 2021 [cited by applicant]
WO 2015183515A1 · 2015 [cited by applicant]
WO WO2019083271A1 · 2019 [cited by examiner]
Ham, English translation of WO-2019083271-A1 (Year: 2019). [cited by examiner]
Kim et al, English translation-KR-10-1593583 (Year: 2016). [cited by examiner]
Communication dated Nov. 29, 2021, issued by the International Searching Authority in counterpart International Application No. PCT/KR2021/010028 (PCT/ISA/210). [cited by applicant]
Communication dated Nov. 29, 2021, issued by the International Searching Authority in counterpart International Application No. PCT/KR2021/010028 (PCT/ISA/237). [cited by applicant]
Communication issued on Jan. 21, 2025 by the Korean Intellectual Property Office for Korean Patent Application No. 10-2020-0096989. [cited by applicant]