USRE48311EActiveUtility
Apparatus and method for running multiple instances of a same application in mobile devices
Est. expiryJan 21, 2035(~8.5 yrs left)· nominal 20-yr term from priority
G06F 21/53G06F 8/61
58
PatentIndex Score
0
Cited by
70
References
45
Claims
Abstract
An apparatus and method for isolating at least one of a plurality of applications included in an electronic device are provided. The method includes selecting at least one of the plurality of applications included in the electronic device, preprocessing the at least one selected application so as to be at least one modified application included in a sandbox isolating the at least one selected applications from others of the plurality of applications, and installing the at least one modified application on the electronic device so as to be executed only according to the sandbox.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1. A method for isolating at least one of a plurality of applications included in an electronic device, the method comprising:
selecting the at least one of the plurality of applications included in the electronic device;
moving and processing the at least one selected application in a sandbox isolating the at least one selected application from others of the plurality of applications so as to be at least one modified application, the sandbox providing data isolation for processing of the at least one selected application; and
installing and executing the at least one modified application on the electronic device so as to be executed only according to the sandbox, the sandbox providing runtime isolation for execution of the at least one selected modified application.
2. The method of claim 1 , wherein the selecting of the at least one of the plurality of applications included in the electronic device comprises:
displaying the at least one of the plurality of applications on the electronic device; and
receiving a user input indicating the at least one selected application from among the displayed at least one of the plurality of applications.
3. The method of claim 1 ,
wherein the processing of the at least one selected application comprises isolating an application file corresponding to the at least one selected application to be the at least one modified application included in the sandbox, and
wherein the at least one modified application includes at least one of a modified application manifest or a modified Dalvik Executable (DEX) file.
4. The method of claim 3 , wherein the isolating of the application file corresponding to the at least one selected application comprises:
extracting an application manifest corresponding to the application file;
modifying the application manifest to be the modified application manifest; and
storing the modified application manifest so as to correspond to the at least one modified application included in the sandbox.
5. The method of claim 4 , wherein the modifying of the application manifest comprises:
modifying at least one of a descriptor or a reference included in the application manifest,
wherein the at least one of the descriptor or the reference may correspond corresponds to at least one of a process name, a file name, a memory location, a device, an address, a pointer, or an operating system component.
6. The method of claim 4 , wherein the modifying of the application manifest comprises:
at least one of adding or modifying at least one of an application permission or an operating system component,
wherein the at least one of the application permission and or the operating system component may be is defined when the at least one selected application is at least one of installed or downloaded.
7. The method of claim 3 ,
wherein the isolating of the application file corresponding to the at least one selected application comprises containerizing a DEX file corresponding to the at least one selected application to be the modified DEX file, and
wherein the DEX file may include includes Dalvik bytecode.
8. The method of claim 7 ,
wherein the containerizing of the DEX file comprises at least one of replacing or modifying at least one process included in the Dalvik bytecode with at least one proxy method configured to provide the data isolation and the runtime isolation for the execution of the at least one selected modified application, and
wherein the at least one modified process controls at least one of transmitting or receiving of messages by the at least one selected application.
9. The method of claim 7 ,
wherein the containerizing of the DEX file comprises inserting an object into a class hierarchy of the Dalvik bytecode, and
wherein the object controls at least one of transmitting or receiving of messages by the at least one selected modified application.
10. The method of claim 3 ,
wherein the isolating of the application file corresponding to the at least one selected application to be the at least one modified application included in the sandbox comprises packaging the at least one modified application manifest and the at least one modified DEX file into a modified application package corresponding to the at least one modified application, and
wherein the modified application package includes a certificate indicating integrity of the modified application package.
11. An apparatus for isolating at least one of a plurality of applications included in an electronic device, the apparatus comprising:
a display configured to:
display the plurality of applications included in the electronic device, and
receive a user input selecting the at least one of the plurality of applications;
a processor configured to:
move and preprocess the at least one selected application in a sandbox isolating the at least one selected application from others of the plurality of applications so as to be at least one modified application, the sandbox providing data isolation for preprocessing of the at least one selected application, and
install and execute the at least one modified application on the electronic device so as to be executed only according to the sandbox, the sandbox providing runtime isolation for execution of the at least one selected modified application; and
a memory configured to store the at least one modified application.
12. The apparatus of claim 11 , further comprising an input/output (I/O) interface configured to receive a user input indicating the at least one selected application from among the displayed plurality of applications.
13. The apparatus of claim 11 ,
wherein the processor is further configured to isolate an application file corresponding to the at least one selected application to be the at least one modified application included in the sandbox, and
wherein the at least one modified application includes at least one of a modified application manifest or a modified Dalvik Executable (DEX) file.
14. The apparatus of claim 13 , wherein the processor is further configured to:
extract an application manifest corresponding to the application file,
modify the application manifest to be the modified application manifest, and
store the modified application manifest so as to correspond to the at least one modified application included in the sandbox in the memory.
15. The apparatus of claim 14 ,
wherein the processor is further configured to modify at least one of a descriptor or a reference included in the application manifest, and
wherein the at least one of the descriptor or the reference may correspond corresponds to at least one of a process name, a file name, a memory location, a device, an address, a pointer, or an operating system component.
16. The apparatus of claim 14 ,
wherein the processor is further configured to at least one of add or modify at least one of an application permission or an operating system component, and
wherein the at least one of the application permission or the operating system component may be is defined when the at least one selected application is at least one of installed or downloaded.
17. The apparatus of claim 13 ,
wherein the processor is further configured to containerize a DEX file corresponding to the at least one selected application to be the modified DEX file, and
wherein the DEX file may include includes Dalvik bytecode.
18. The apparatus of claim 17 ,
wherein the processor is further configured to at least one of replace or modify at least one process included in the Dalvik bytecode with at least one proxy method configured to provide the data isolation and the runtime isolation for the execution of the at least one selected modified application, and
wherein the at least one modified process controls at least one of transmitting or receiving of messages by the at least one selected application.
19. The apparatus of claim 17 ,
wherein the processor is further configured to insert an object into a class hierarchy of the Dalvik bytecode, and
wherein the object controls at least one of transmitting or receiving of messages by the at least one selected modified application.
20. The apparatus of claim 13 ,
wherein the processor is further configured to package the at least one modified application manifest or the at least one modified DEX file into a modified application package corresponding to the at least one modified application, and
wherein the modified application package includes a certificate indicating integrity of the modified application package.
21. A method comprising:
selecting an application from among a plurality of applications included in an electronic device; processing the selected application to generate a modified application in a sandbox, the sandbox configured to isolate the modified application from one or more other applications of the plurality of applications and to provide data isolation for processing of the modified application; installing the modified application on the electronic device; and executing the modified application on the electronic device only according to the sandbox, the sandbox configured to provide runtime isolation for execution of the modified application.
22. The method of claim 21, wherein selecting the application from among the plurality of applications comprises:
displaying at least some of the plurality of applications on the electronic device; and receiving a user input indicating the selected application from among the displayed applications.
23. The method of claim 21, wherein:
processing the selected application comprises isolating an application file corresponding to the selected application to generate the modified application included in the sandbox; and the modified application includes at least one of a modified application manifest, a modified Dalvik Executable (DEX) file, or a modified or replaced application icon or image.
24. The method of claim 23, wherein isolating the application file corresponding to the selected application comprises:
extracting an application manifest corresponding to the application file; modifying the application manifest to generate the modified application manifest; and storing the modified application manifest so as to correspond to the modified application included in the sandbox.
25. The method of claim 24, wherein:
modifying the application manifest comprises modifying at least one of a descriptor or a reference included in the application manifest; and the at least one of the descriptor or the reference corresponds to at least one of a process name, a file name, a memory location, a device, an address, a pointer, or an operating system component.
26. The method of claim 24, wherein:
modifying the application manifest comprises at least one of adding or modifying at least one of an application permission or an operating system component; and the at least one of the application permission or the operating system component is defined when the selected application is at least one of installed or downloaded.
27. The method of claim 23, wherein:
isolating the application file comprises containerizing a DEX file corresponding to the selected application to generate the modified DEX file; and the DEX file includes Dalvik bytecode.
28. The method of claim 27, wherein:
containerizing the DEX file comprises at least one of replacing or modifying at least one process included in the Dalvik bytecode to provide the data isolation and the runtime isolation; and the at least one process controls at least one of transmitting or receiving of messages by the selected application.
29. The method of claim 27, wherein:
containerizing the DEX file comprises inserting an object into a class hierarchy of the Dalvik bytecode; and the object controls at least one of transmitting or receiving of messages by the modified application.
30. The method of claim 23, wherein:
isolating the application file comprises packaging the modified application manifest and the modified DEX file into a modified application package corresponding to the modified application; and the modified application package includes a certificate indicating integrity of the modified application package.
31. The method of claim 21, wherein processing the selected application comprises one of modifying or replacing an icon associated with the selected application.
32. The method of claim 21, wherein:
the method further comprises copying the selected application; and processing the selected application to generate the modified application comprises processing the copy of the selected application to generate the modified application.
33. An electronic device comprising:
a display; a processor configured to:
display, via the display, a plurality of applications included in the electronic device;
detect a user input selecting an application from among the plurality of applications;
process the selected application to generate a modified application in a sandbox, the sandbox configured to isolate the modified application from one or more other applications of the plurality of applications and to provide data isolation for processing of the modified application;
install the modified application on the electronic device; and
execute the modified application on the electronic device only according to the sandbox, the sandbox configured to provide runtime isolation for execution of the modified application; and
a memory configured to store the modified application.
34. The electronic device of claim 33, further comprising:
an input/output (I/O) interface configured to receive a user input indicating the selected application from among the displayed applications.
35. The electronic device of claim 33, wherein:
the processor is further configured to isolate an application file corresponding to the selected application to generate the modified application included in the sandbox; and the modified application includes at least one of a modified application manifest, a modified Dalvik Executable (DEX) file, or a modified or replaced application icon or image.
36. The electronic device of claim 35, wherein the processor is further configured to:
extract an application manifest corresponding to the application file; modify the application manifest to be the modified application manifest; and store the modified application manifest so as to correspond to the modified application included in the sandbox in the memory.
37. The electronic device of claim 36, wherein:
the processor is further configured to modify at least one of a descriptor or a reference included in the application manifest; and the at least one of the descriptor or the reference corresponds to at least one of a process name, a file name, a memory location, a device, an address, a pointer, or an operating system component.
38. The electronic device of claim 36, wherein:
the processor is further configured to at least one of add or modify at least one of an application permission or an operating system component, and the at least one of the application permission or the operating system component is defined when the selected application is at least one of installed or downloaded.
39. The electronic device of claim 35, wherein:
the processor is further configured to containerize a DEX file corresponding to the selected application to generate the modified DEX file; and the DEX file includes Dalvik bytecode.
40. The electronic device of claim 39, wherein:
the processor is further configured to at least one of replace or modify at least one process included in the Dalvik bytecode to provide the data isolation and the runtime isolation; and the at least one process controls at least one of transmitting or receiving of messages by the selected application.
41. The electronic device of claim 39, wherein:
the processor is further configured to insert an object into a class hierarchy of the Dalvik bytecode; and the object controls at least one of transmitting or receiving of messages by the modified application.
42. The electronic device of claim 35, wherein:
the processor is further configured to package the modified application manifest or the modified DEX file into a modified application package corresponding to the modified application; and the modified application package includes a certificate indicating integrity of the modified application package.
43. The electronic device of claim 33, wherein, to process the selected application, the processor is configured to one of modify or replace an icon associated with the selected application.
44. The electronic device of claim 33, wherein:
the processor is further configured to copy the selected application; and to process the selected application to generate the modified application, the processor is configured to process the copy of the selected application to generate the modified application.
45. The electronic device of claim 33, wherein the processor is configured to execute the selected application and the modified application at a same time.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.