WO2022163907A1 - Dispositif électronique et son procédé de commande - Google Patents

Dispositif électronique et son procédé de commande Download PDF

Info

Publication number
WO2022163907A1
WO2022163907A1 PCT/KR2021/003940 KR2021003940W WO2022163907A1 WO 2022163907 A1 WO2022163907 A1 WO 2022163907A1 KR 2021003940 W KR2021003940 W KR 2021003940W WO 2022163907 A1 WO2022163907 A1 WO 2022163907A1
Authority
WO
WIPO (PCT)
Prior art keywords
application
electronic device
preload
processor
class list
Prior art date
Application number
PCT/KR2021/003940
Other languages
English (en)
Korean (ko)
Inventor
이해욱
정관희
김효종
전경석
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Publication of WO2022163907A1 publication Critical patent/WO2022163907A1/fr

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4416Network booting; Remote initial program loading [RIPL]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44557Code layout in executable memory

Definitions

  • the present disclosure relates to an electronic device and a control method thereof, and more particularly, to an electronic device for preloading a class corresponding to a process and a control method thereof.
  • the class list (or preload class list) preloaded through Zygot is generally a list of classes previously defined in AOSP (Android Open Source Project).
  • AOSP Android Open Source Project
  • the list of preloaded classes was not divided according to the type or function of the process, but was applied to each process in batches.
  • the present disclosure has been devised to improve the above problems, and an object of the present disclosure is to provide an electronic device for generating a class list for each process and preloading the generated class list, and a method for controlling the same.
  • the electronic device acquires and stores profile data including information about a class executed exceeding a threshold number of times for each communication module, memory, and a plurality of processes including a circuit and stores it in the memory, and a processor configured to generate a second preload class list corresponding to each of the plurality of processes based on the stored profile data for each of the plurality of processes, wherein the processor is configured to: When the first process is created, a second preload class list corresponding to the first process may be preloaded.
  • the plurality of processes may include a system server and an application application
  • the processor may obtain profile data of each of the system server and the application application and store the obtained profile data in the memory.
  • the processor identifies a class that the application application commonly executes exceeding the threshold number based on the profile data of the application application, and a second preload corresponding to the application application based on the identified class You can create a list of classes.
  • the processor may generate a second preload class list corresponding to the application application based on the remaining classes except for the classes included in the first preload class list among the identified classes.
  • the processor when a user command for booting the electronic device is input, the processor generates a zygote while booting the electronic device, and when the system server, which is the first process, is generated through the gygote, the system server A second preload class list corresponding to may be preloaded.
  • a second preload class list may be preloaded.
  • the processor identifies a class in which a plurality of application applications grouped according to a predefined criterion commonly executes exceeding the threshold number of times, and selects the rest of the identified classes except for the first preload class list.
  • a third preload class list corresponding to the grouped plurality of applications may be generated by using the .
  • the processor when the system server inputs an execution request for a second application among the plurality of grouped applications to the zygote, generates a process for executing the second application through the zygote,
  • the third preload class list may be preloaded.
  • the processor may receive a first preload class list from an external server through the communication module and store it in the memory, and the system server and the application application may share the first preload class list.
  • a method of controlling an electronic device acquiring and storing profile data including information on a class executed exceeding a threshold number of times for each of a plurality of processes, and storing the obtained profile data for each of the plurality of stored processes generating a second preload class list corresponding to each of the plurality of processes based on the profile data; and when a first process among the plurality of processes is generated while the electronic device is booting, the process corresponding to the first process is generated.
  • a second preload class list may be preloaded.
  • the plurality of processes may include a system server and an application application
  • obtaining and storing the profile data may include obtaining and storing profile data of each of the system server and the application application.
  • the generating includes: identifying a class commonly executed by the application application based on the profile data of the application application; and a second preload class list corresponding to the application application based on the identified class It may include the step of generating
  • the generating may include generating a second preload class list corresponding to the application application based on the remaining classes except for the classes included in the first preload class list among the identified classes.
  • the preloading may include, when a user command for booting the electronic device is input, generating a gygot while booting the electronic device, and generating a system server, which is the first process, through the gygot. If so, the method may include preloading a second preload class list corresponding to the system server.
  • the preloading includes, when a first application execution request signal is input to the gygot by the system server, creating a process for executing the first application through the gygote and the application A second preload class list corresponding to the application may be preloaded.
  • control method includes: identifying a class that is commonly executed by a plurality of application applications grouped according to a predefined criterion exceeding the threshold number of times; The method may further include generating a third preload class list corresponding to the grouped plurality of applications using .
  • control method when an execution request for a second application among the plurality of grouped applications is input to the zygot by the system server, generating a process for executing the second application through the zygot and the third preload class list may be preloaded.
  • the control method may further include receiving and storing a first preload class list from an external server, and the system server and the application application may share the first preload class list.
  • FIG. 1 is a block diagram schematically illustrating a configuration of an electronic device according to an embodiment of the present disclosure
  • FIG. 2 is a diagram for explaining a network environment including an electronic device according to an embodiment of the present disclosure
  • FIG. 3 is a flowchart illustrating a method of controlling an electronic device according to an embodiment of the present disclosure
  • FIG. 4 is a flowchart illustrating a method for an electronic device to preload a class list for each process according to an embodiment of the present disclosure
  • FIG. 5 is a flowchart illustrating a method of generating and preloading a preload class list corresponding to a grouped application by an electronic device according to an embodiment of the present disclosure
  • Embodiments of the present disclosure may apply various transformations and may have various embodiments, and specific embodiments will be illustrated in the drawings and described in detail in the detailed description. However, this is not intended to limit the scope of the specific embodiments, and it should be understood to include all transformations, equivalents and substitutions included in the spirit and scope of the disclosure. In describing the embodiments, if it is determined that a detailed description of a related known technology may obscure the subject matter, the detailed description thereof will be omitted.
  • module used in various embodiments of this document may include a unit implemented in hardware, software, or firmware, and is interchangeable with terms such as, for example, logic, logic block, component, or circuit.
  • a module may be an integrally formed part or a minimum unit or a part of the part that performs one or more functions.
  • the module may be implemented in the form of an application-specific integrated circuit (ASIC).
  • ASIC application-specific integrated circuit
  • the electronic device may have various types of devices.
  • the electronic device may include, for example, a portable communication device (eg, a smart phone), a computer device, a portable multimedia device, a portable medical device, a camera, a wearable device, or a home appliance device.
  • a portable communication device eg, a smart phone
  • a computer device e.g., a smart phone
  • a portable multimedia device e.g., a portable medical device
  • a camera e.g., a portable medical device
  • a camera e.g., a portable medical device
  • a camera e.g., a portable medical device
  • a wearable device e.g., a smart bracelet
  • a home appliance device e.g., a home appliance
  • FIG. 1 is a block diagram schematically illustrating a configuration of an electronic device 100 according to an embodiment of the present disclosure.
  • the electronic device 100 may include a memory 110 , a communication unit 120 , and a processor 130 .
  • the configuration shown in FIG. 1 is an exemplary diagram for implementing embodiments of the present disclosure, and appropriate hardware and software configurations at a level obvious to those skilled in the art may be additionally included in the electronic device 100 .
  • the memory 110 may store commands or data related to at least one other component of the electronic device 100 .
  • the memory 110 is accessed by the processor 130 , and reading/writing/modification/deletion/update of data by the processor 130 may be performed.
  • the term "memory” refers to a memory 110, a ROM (not shown) in the processor 130, a RAM (not shown), or a memory card (not shown) mounted in the electronic device 100 (eg, micro SD). card, memory stick).
  • the memory 110 may store programs and data for configuring various screens to be displayed in the display area of the display. The configuration of the memory 110 will be described in more detail with reference to FIG. 2 .
  • the communication module 120 includes a circuit and may communicate with an external device.
  • the external device may refer to the electronic device 102 , the electronic device 104 , and the server 108 of FIG. 2 .
  • Communication of the communication module 120 with an external device may include communication through a third device (eg, a repeater, a hub, an access point, a server, or a gateway).
  • a third device eg, a repeater, a hub, an access point, a server, or a gateway.
  • the processor 130 may be electrically connected to the memory 110 to control overall functions and operations of the electronic device 100 .
  • the processor 130 may receive the first preload class list from the external server through the communication module 120 and store it in the memory 110 .
  • the external server may refer to the server 108 shown in FIG. 2 , and may refer to a server that manages or provides an open source, etc. by Google TM or the like.
  • the first preload class list means a list of at least one predefined preload class provided by an external server
  • the system server and the application application generated by Zygot may share the first preload class list.
  • the zygot refers to a software module that executes a preset command to execute various processes in the Android operating system environment.
  • the processor 130 may generate a gygote.
  • the processor 130 may preload the pre-stored first preload class list through zygote.
  • the preload may be expressed as loading, and the loading refers to an operation of allowing the processor 130 to access the memory by loading it from a memory performing a storage function to a memory performing a main memory function. do. That is, the processor 130 may load the first preload class list stored in the memory performing the storage function into the memory performing the main memory function.
  • the processor 130 may acquire profile data including information on a class executed by exceeding a threshold number of times for each of the plurality of processes. That is, the processor 130 may acquire profile data for each process by identifying information about a class executed exceeding a threshold number of times when each of the plurality of processes is executed.
  • the plurality of processes may include a system server and an application application.
  • the system server refers to a collection of service modules responsible for the overall operation and management of the framework, such as the execution of application applications.
  • the Android operating system records and stores information about classes and methods used a threshold number of times or more for each process in order to perform optimization work according to a user's usage pattern.
  • the processor 130 may access information recorded by the Android operating system to obtain profile data including information on classes and methods executed exceeding a threshold number of times for each of a plurality of processes.
  • the processor 130 may obtain profile data of each of the system server and the application application.
  • the threshold number may be a preset value (eg, 5000 times) by research or experimentation, but is not limited thereto, and may be changed based on at least a part of a user's usage pattern. Also, it goes without saying that the user can arbitrarily change the threshold number.
  • the processor 130 may generate a second preload class list for each of the plurality of processes based on the profile data for each of the plurality of processes. Specifically, the processor 130 may identify a class that the application application commonly executes exceeding a threshold number of times based on the profile data of the application application.
  • the processor 130 may generate a second preload class list corresponding to the application based on the identified class.
  • the processor 130 may store the generated second preload class list for each process in the memory 110 .
  • the second preload class list for each process may be stored in the form of a text file, but is not limited thereto, and may be stored in various file types.
  • the processor 130 identifies a class that is commonly executed exceeding a threshold number of classes among the classes executed by the application application, and uses the remaining classes except for the class included in the first preload class list among the identified classes.
  • a second preload class list corresponding to the application may be generated.
  • the processor 130 identifies a class executed exceeding a threshold number of times when the system server is executed based on the profile data of the system server, and a second preload class list corresponding to the system server based on the identified class can create Then, the processor 130 generates a second preload class list corresponding to the system server using the remaining classes except for the classes included in the first preload class list among the classes executed exceeding a threshold number of times when the system server is executed. can create
  • the processor 130 When a first process among a plurality of processes is generated while or after the electronic device 100 is booted as a user command for booting the electronic device 100 is input, the processor 130 corresponds to the first process. It is possible to preload the list of the second preload class to be. That is, the processor 130 may preload the second preload class list corresponding to the generated process.
  • the processor 130 may generate a gygoth.
  • the processor 130 may preload a second list of preload classes corresponding to the system server. Specifically, the processor 130 may preload the second preload class list corresponding to the system server before the system server performs initialization.
  • the system server may initialize and execute an application for driving the electronic device 100 in the Android operating system environment.
  • the system server executes a specific application, it may mean that the system server transmits (or inputs) a signal requesting a fork of the specific application to Zygot.
  • a first application execution request signal (eg, a signal for requesting a fork of the first application) is input by the system server to Zygot
  • the processor 130 performs a process for executing the first application through Zygot. and preload the second preload class list corresponding to the application application.
  • the processor 130 may create a process for executing the first application by calling the fork function through the gygot.
  • the generated process may share the list of preloaded first preload classes with the system server.
  • the processor 130 may preload the second preload class list corresponding to the application before the generated process is specialized to the first application.
  • the processor 130 may control the generated process to be specialized as a first application application.
  • the processor 130 generates a third preload class list based on a class in which a plurality of application applications grouped according to a predefined criterion commonly execute exceeding a threshold number of times. can create In addition, when a process for a second application is generated among a plurality of grouped application applications, the processor 130 may preload the third preload class list. An embodiment related thereto will be described in detail with reference to FIG. 5 .
  • a preload class list for a class with high frequency of use may be generated for each system server and each application, and the class list may be preloaded for each generated process.
  • FIG. 2 is a diagram for describing a network environment, according to various embodiments of the present disclosure.
  • the electronic device 100 communicates with the electronic device 102 through a first network 198 (eg, a short-range wireless communication network), or a second network 199 ( For example, it is possible to communicate with at least one of the electronic device 104 or the server 108 through a long-distance wireless communication network.
  • the electronic device 100 may communicate with the electronic device 104 through the server 108 .
  • the electronic device 100 includes a memory 110 , a communication module 120 , a processor 130 , an input module 150 , a sound output module 155 , a display module 160 , and audio Module 170, sensor module 176, interface 177, connection terminal 178, haptic module 179, camera module 180, power management module 188, battery 189, subscriber identification module ( 196), or an antenna module 197 may be included.
  • at least one eg, the connection terminal 178
  • these components may be omitted or one or more other components may be added.
  • some of these components are integrated into one component (eg, display module 160 ). can be
  • the processor 130 for example, executes software (eg, the program 140 ) to execute at least one other component (eg, a hardware or software component) of the electronic device 100 connected to the processor 130 . It can control and perform various data processing or operations. According to one embodiment, as at least part of data processing or computation, the processor 130 converts commands or data received from other components (eg, the sensor module 176 or the communication module 120 ) to the volatile memory 112 . may be stored in the volatile memory 112 , and may process commands or data stored in the volatile memory 112 , and store the result data in the non-volatile memory 114 .
  • software eg, the program 140
  • the processor 130 converts commands or data received from other components (eg, the sensor module 176 or the communication module 120 ) to the volatile memory 112 .
  • the volatile memory 112 may be stored in the volatile memory 112 , and may process commands or data stored in the volatile memory 112 , and store the result data in the non-volatile memory 114 .
  • the processor 130 may include a main processor 131 (eg, a central processing unit or an application processor) or a secondary processor 133 (eg, a graphic processing unit or a neural network processing unit) that can operate independently or together with the main processor 131 .
  • main processor 131 eg, a central processing unit or an application processor
  • secondary processor 133 eg, a graphic processing unit or a neural network processing unit
  • NPU neural processing unit
  • image signal processor e.g., image signal processor, sensor hub processor, or communication processor.
  • the sub-processor 133 uses less power than the main processor 131 or is set to be specialized for a specified function.
  • the auxiliary processor 133 may be implemented separately from or as a part of the main processor 131 .
  • the auxiliary processor 133 for example, on behalf of the main processor 131 while the main processor 131 is in an inactive (eg, sleep) state, or the main processor 131 is active (eg, executing an application) ), together with the main processor 131, at least one of the components of the electronic device 100 (eg, the display module 160, the sensor module 176, or the communication module 120) It is possible to control at least some of the related functions or states.
  • the coprocessor 133 eg, an image signal processor or a communication processor
  • another functionally related component eg, the camera module 180 or the communication module 120.
  • the auxiliary processor 133 may include a hardware structure specialized for processing an artificial intelligence model.
  • Artificial intelligence models can be created through machine learning. Such learning may be performed, for example, in the electronic device 100 itself on which the artificial intelligence model is performed, or may be performed through a separate server (eg, the server 108).
  • the learning algorithm may include, for example, supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning, but in the above example not limited
  • the artificial intelligence model may include a plurality of artificial neural network layers. Artificial neural networks include deep neural networks (DNNs), convolutional neural networks (CNNs), recurrent neural networks (RNNs), restricted boltzmann machines (RBMs), deep belief networks (DBNs), bidirectional recurrent deep neural networks (BRDNNs), It may be one of deep Q-networks or a combination of two or more of the above, but is not limited to the above example.
  • the artificial intelligence model may include, in addition to, or alternatively, a software structure in addition to the hardware structure.
  • the memory 110 may store various data used by at least one component (eg, the processor 130 or the sensor module 176 ) of the electronic device 100 .
  • the data may include, for example, input data or output data for software (eg, the program 130 ) and instructions related thereto.
  • the memory 110 may include a volatile memory 112 or a non-volatile memory 114 .
  • the program 130 may be stored as software in the memory 110 , and may include, for example, an operating system 142 , middleware 144 , or an application 146 .
  • the input module 150 may receive a command or data to be used in a component (eg, the processor 130 ) of the electronic device 100 from the outside (eg, a user) of the electronic device 100 .
  • the input module 150 may include, for example, a microphone, a mouse, a keyboard, a key (eg, a button), or a digital pen (eg, a stylus pen).
  • the sound output module 155 may output a sound signal to the outside of the electronic device 100 .
  • the sound output module 155 may include, for example, a speaker or a receiver.
  • the speaker can be used for general purposes such as multimedia playback or recording playback.
  • the receiver can be used to receive incoming calls. According to one embodiment, the receiver may be implemented separately from or as part of the speaker.
  • the display module 160 may visually provide information to the outside (eg, a user) of the electronic device 100 .
  • the display module 160 may include, for example, a control circuit for controlling a display, a hologram device, or a projector and a corresponding device.
  • the display module 160 may include a touch sensor configured to sense a touch or a pressure sensor configured to measure the intensity of a force generated by the touch.
  • the audio module 170 may convert a sound into an electric signal or, conversely, convert an electric signal into a sound. According to an embodiment, the audio module 170 acquires a sound through the input module 150 , or an external electronic device (eg, a sound output module 155 ) connected directly or wirelessly with the electronic device 100 .
  • the electronic device 102) eg, a speaker or headphones
  • the electronic device 102 may output a sound.
  • the sensor module 176 detects an operating state (eg, power or temperature) of the electronic device 100 or an external environmental state (eg, a user state), and generates an electrical signal or data value corresponding to the sensed state. can do.
  • the sensor module 176 may include, for example, a gesture sensor, a gyro sensor, a barometric pressure sensor, a magnetic sensor, an acceleration sensor, a grip sensor, a proximity sensor, a color sensor, an IR (infrared) sensor, a biometric sensor, It may include a temperature sensor, a humidity sensor, or an illuminance sensor.
  • the interface 177 may support one or more specified protocols that may be used by the electronic device 100 to directly or wirelessly connect with an external electronic device (eg, the electronic device 102 ).
  • the interface 177 may include, for example, a high definition multimedia interface (HDMI), a universal serial bus (USB) interface, an SD card interface, or an audio interface.
  • the connection terminal 178 may include a connector through which the electronic device 100 can be physically connected to an external electronic device (eg, the electronic device 102 ).
  • the connection terminal 178 may include, for example, an HDMI connector, a USB connector, an SD card connector, or an audio connector (eg, a headphone connector).
  • the haptic module 179 may convert an electrical signal into a mechanical stimulus (eg, vibration or movement) or an electrical stimulus that the user can perceive through tactile or kinesthetic sense.
  • the haptic module 179 may include, for example, a motor, a piezoelectric element, or an electrical stimulation device.
  • the camera module 180 may capture still images and moving images. According to an embodiment, the camera module 180 may include one or more lenses, image sensors, image signal processors, or flashes.
  • the power management module 188 may manage power supplied to the electronic device 100 .
  • the power management module 188 may be implemented as, for example, at least a part of a power management integrated circuit (PMIC).
  • PMIC power management integrated circuit
  • the battery 189 may supply power to at least one component of the electronic device 100 .
  • battery 189 may include, for example, a non-rechargeable primary cell, a rechargeable secondary cell, or a fuel cell.
  • the communication module 120 is a direct (eg, wired) communication channel or a wireless communication channel between the electronic device 100 and an external electronic device (eg, the electronic device 102, the electronic device 104, or the server 108). It can support establishment and communication performance through the established communication channel.
  • an external electronic device eg, the electronic device 102, the electronic device 104, or the server 108. It can support establishment and communication performance through the established communication channel.
  • the communication module 120 may include one or more communication processors that operate independently of the processor 130 (eg, an application processor) and support direct (eg, wired) communication or wireless communication.
  • the communication module 120 is a wireless communication module 122 (eg, a cellular communication module, a short-range wireless communication module, or a global navigation satellite system (GNSS) communication module) or a wired communication module 124 (eg, : It may include a local area network (LAN) communication module, or a power line communication module).
  • GNSS global navigation satellite system
  • a corresponding communication module among these communication modules is a first network 198 (eg, a short-range communication network such as Bluetooth, wireless fidelity (WiFi) direct, or infrared data association (IrDA)) or a second network 199 (eg, legacy It may communicate with the external electronic device 104 through a cellular network, a 5G network, a next-generation communication network, the Internet, or a computer network (eg, a telecommunication network such as a LAN or a WAN).
  • a short-range communication network such as Bluetooth, wireless fidelity (WiFi) direct, or infrared data association (IrDA)
  • a second network 199 eg, legacy It may communicate with the external electronic device 104 through a cellular network, a 5G network, a next-generation communication network, the Internet, or a computer network (eg, a telecommunication network such as a LAN or a WAN).
  • the wireless communication module 122 uses subscriber information (eg, International Mobile Subscriber Identifier (IMSI)) stored in the subscriber identification module 196 within a communication network such as the first network 198 or the second network 199 .
  • subscriber information eg, International Mobile Subscriber Identifier (IMSI)
  • IMSI International Mobile Subscriber Identifier
  • the electronic device 100 may be identified or authenticated.
  • the wireless communication module 122 may support a 5G network after a 4G network and a next-generation communication technology, for example, a new radio access technology (NR).
  • NR access technology includes high-speed transmission of high-capacity data (eMBB (enhanced mobile broadband)), minimization of terminal power and access to multiple terminals (mMTC (massive machine type communications)), or high reliability and low latency (URLLC (ultra-reliable and low-latency) -latency communications)).
  • eMBB enhanced mobile broadband
  • mMTC massive machine type communications
  • URLLC ultra-reliable and low-latency
  • the wireless communication module 122 may support a high frequency band (eg, mmWave band) in order to achieve a high data rate, for example.
  • a high frequency band eg, mmWave band
  • the wireless communication module 122 uses various techniques for securing performance in a high-frequency band, for example, beamforming, massive multiple-input and multiple-output (MIMO), all-dimensional multiplexing. It may support technologies such as full dimensional MIMO (FD-MIMO), an array antenna, analog beam-forming, or a large scale antenna.
  • MIMO massive multiple-input and multiple-output
  • the wireless communication module 122 may support various requirements specified in the electronic device 100 , an external electronic device (eg, the electronic device 104 ), or a network system (eg, the second network 199 ).
  • the wireless communication module 122 may include a peak data rate (eg, 20 Gbps or more) for realizing eMBB, loss coverage (eg, 164 dB or less) for realizing mMTC, or U-plane latency for realizing URLLC ( Example: Downlink (DL) and uplink (UL) each 0.5 ms or less, or round trip 1 ms or less) can be supported.
  • the antenna module 197 may transmit or receive a signal or power to the outside (eg, an external electronic device).
  • the antenna module 197 may include an antenna including a conductor formed on a substrate (eg, a PCB) or a radiator formed of a conductive pattern.
  • the antenna module 197 may include a plurality of antennas (eg, an array antenna). In this case, at least one antenna suitable for a communication method used in a communication network such as the first network 198 or the second network 199 is connected from the plurality of antennas by, for example, the communication module 120 . can be selected. A signal or power may be transmitted or received between the communication module 120 and an external electronic device through the selected at least one antenna.
  • other components eg, a radio frequency integrated circuit (RFIC)
  • RFIC radio frequency integrated circuit
  • the antenna module 197 may form a mmWave antenna module.
  • the mmWave antenna module comprises a printed circuit board, an RFIC disposed on or adjacent to a first side (eg, bottom side) of the printed circuit board and capable of supporting a designated high frequency band (eg, mmWave band); and a plurality of antennas (eg, an array antenna) disposed on or adjacent to a second side (eg, top or side) of the printed circuit board and capable of transmitting or receiving signals of the designated high frequency band. can do.
  • peripheral devices eg, a bus, general purpose input and output (GPIO), serial peripheral interface (SPI), or mobile industry processor interface (MIPI)
  • GPIO general purpose input and output
  • SPI serial peripheral interface
  • MIPI mobile industry processor interface
  • the command or data may be transmitted or received between the electronic device 100 and the external electronic device 104 through the server 108 connected to the second network 199 .
  • Each of the external electronic devices 102 or 104 may be the same as or different from the electronic device 100 .
  • all or a part of operations executed in the electronic device 100 may be executed in one or more external electronic devices 102 , 104 , or 108 .
  • the electronic device 100 may perform the function or service by itself instead of executing the function or service itself.
  • one or more external electronic devices may be requested to perform at least a part of the function or the service.
  • One or more external electronic devices that have received the request may execute at least a part of the requested function or service, or an additional function or service related to the request, and transmit a result of the execution to the electronic device 100 .
  • the electronic device 100 may process the result as it is or additionally and provide it as at least a part of a response to the request.
  • cloud computing distributed computing, mobile edge computing (MEC), or client-server computing technology may be used.
  • the electronic device 100 may provide an ultra-low latency service using, for example, distributed computing or mobile edge computing.
  • the external electronic device 104 may include an Internet of things (IoT) device.
  • the server 108 may be an intelligent server using machine learning and/or neural networks.
  • the external electronic device 104 or the server 108 may be included in the second network 199 .
  • the electronic device 100 may be applied to an intelligent service (eg, smart home, smart city, smart car, or health care) based on 5G communication technology and IoT-related technology.
  • FIG. 3 is a flowchart illustrating a method of controlling an electronic device according to an embodiment of the present disclosure.
  • the electronic device 100 may receive and store the first preload class list from the external server (S310).
  • the first preload class list may include a preload class list provided by AOSP of Google TM .
  • the system server and application application generated by Zygot may share the first preload class list.
  • the electronic device 100 may obtain profile data including information about a class executed by exceeding a threshold number of times for each of the plurality of processes ( S320 ).
  • the Android operating system may record information on classes and methods used exceeding a threshold number of times for each application by profiling a user's usage pattern.
  • the electronic device 100 may access information recorded by the Android operating system to obtain profile data including information on classes and methods executed exceeding a threshold number of times for each of a plurality of processes. That is, the electronic device 100 may obtain and store profile data of each of the system server and the application application.
  • the electronic device 100 may generate a second preload class list corresponding to each of the plurality of processes based on the profile data for each of the plurality of processes ( S330 ).
  • the electronic device 100 may identify a class that is commonly executed exceeding a threshold number of times for a plurality of application applications based on profile data of the application application.
  • the electronic device 100 may generate the second preload class list corresponding to the general application by using the remaining classes except for the class included in the first preload class list among the identified classes.
  • the electronic device 100 may generate a second preload class list corresponding to the system server by using the remaining classes except for the class included in the first preload class list among the identified classes.
  • the electronic device 100 may preload a second preload class list corresponding to the first process ( S340 ). That is, when a specific process is generated, the electronic device 100 may preload a class list corresponding to the generated process. An embodiment related thereto will be described in detail with reference to FIG. 4 .
  • FIG. 4 is a flowchart illustrating a method for the electronic device 100 to preload a class list for each process according to an embodiment of the present disclosure. That is, FIG. 4 is a flowchart illustrating a process in which the electronic device 100 preloads the generated class list for each process after the second preload class list is generated.
  • the electronic device 100 may receive a user command for booting the electronic device 100 ( S410 ).
  • the electronic device 100 may receive a user command to turn on the electronic device 100 in a power-off state, or a charger may be connected.
  • the electronic device 100 may receive a user command to reboot while the electronic device 100 is in a power-on state.
  • the electronic device 100 may create and initialize a gygoth during the booting process ( S420 ).
  • Zygot may preload a first list of preload classes received from an external server while being created and initialized.
  • the electronic device 100 may create a system server through the zygote (S430).
  • Zygot can create system servers using fork functions.
  • the system server may use the first preload class list preloaded by Zygot.
  • the system server may share a list of the first preload class with a process for executing an application to be generated by Zygot later.
  • the electronic device 100 may preload the second preload class list corresponding to the system server (S440). Before the generated system server is initialized, the electronic device 100 may preload a second preload class list corresponding to the system server. Thereafter, the system server may perform an initialization operation, and Zygot may monitor whether a specific application execution request is transmitted from the system server.
  • the electronic device 100 may identify whether the first application execution request is input to the gygot by the system server (S450).
  • the system server may operate to execute an application for driving the electronic device 100 in the Android operating system environment.
  • the electronic device 100 may identify whether the system server transmits a signal requesting a fork of the first application among the plurality of application applications to the gygot.
  • the electronic device 100 may generate a process for executing the first application through Xygot (S460).
  • Zygot may call the fork function to create a process for the first application.
  • the process for the generated first application may share the list of the first preload classes preloaded by Zygot with the system server.
  • the electronic device 100 may preload the second preload class list corresponding to the application (S470).
  • the electronic device 100 may preload the second preload class list corresponding to the application application before the generated process is specialized to the first application application.
  • the electronic device 100 may execute the generated process by specializing it as a first application application.
  • FIG. 5 is a flowchart illustrating a method of generating and preloading a preload class list corresponding to a grouped application by an electronic device according to an embodiment of the present disclosure
  • the electronic device 100 may identify a class executed by exceeding a threshold number of times among classes executed by a plurality of application applications grouped according to a predefined criterion ( S510 ).
  • the electronic device 100 may obtain information about a class executed (or used) exceeding a threshold number of times for a plurality of grouped applications by using a function provided by the Android operating system.
  • the electronic device 100 may identify a class in which a plurality of grouped applications are commonly executed exceeding a threshold number based on information obtained through the Android operating system.
  • the plurality of applications may be grouped according to various criteria. For example, among applications distributed online through an application store, at least one application in which the number of downloads is equal to or greater than a preset value may be grouped. As another example, among applications installed in the electronic device 100 , applications that have been executed exceeding a preset number of times may be grouped.
  • the predefined criteria may be set in various ways and may be changed by a user, of course.
  • the electronic device 100 sets the third preload class corresponding to the grouped plurality of applications by using the remaining classes except for the first preload class list among the classes in which the grouped plurality of application applications are commonly executed exceeding the threshold number of times.
  • a list may be created and stored (S520).
  • the third preload class list may be stored in the electronic device 100 in the form of a text file, but is not limited thereto and may be stored in the form of another file.
  • the electronic device 100 may create and initialize a gygoth during booting.
  • the electronic device 100 may create a system server through zygote and preload a second preload class list corresponding to the system server. Since the embodiment related to this has been described with reference to S410 to S440 of FIG. 4 , a redundant description will be omitted.
  • the electronic device 100 may identify whether the execution request for the second application among the plurality of grouped applications is input to the gygot by the system server ( S530 ). When a fork request of a second application among a plurality of applications grouped by the system server is input to Zygot, the electronic device 100 may generate a process for executing the second application through Zygot. There is (S540). The electronic device 100 may preload the third preload class list corresponding to the grouped plurality of application applications before the generated process is specialized to the second application application ( S550 ).
  • the above-described methods according to various embodiments of the present disclosure may be implemented in the form of an application that can be installed in an existing electronic device.
  • the above-described methods according to various embodiments of the present disclosure may be implemented only by software upgrade or hardware upgrade of an existing electronic device.
  • various embodiments of the present disclosure described above may be performed through an embedded server provided in an electronic device, or an external server of at least one of an electronic device and a display device.
  • the various embodiments described above may be implemented as software including instructions stored in a machine-readable storage media readable by a machine (eg, a computer).
  • a device is a device capable of calling a stored command from a storage medium and operating according to the called command, and may include the electronic device according to the disclosed embodiments.
  • the processor may perform a function corresponding to the instruction by using other components directly or under the control of the processor.
  • Instructions may include code generated or executed by a compiler or interpreter.
  • the device-readable storage medium may be provided in the form of a non-transitory storage medium.
  • the 'non-transitory storage medium' does not include a signal and only means that it is tangible and does not distinguish that data is semi-permanently or temporarily stored in the storage medium.
  • the 'non-transitory storage medium' may include a buffer in which data is temporarily stored.
  • the method according to various embodiments disclosed in the present disclosure may be provided by being included in a computer program product.
  • Computer program products may be traded between sellers and buyers as commodities.
  • the computer program product may be distributed in the form of a machine-readable storage medium (eg, compact disc read only memory (CD-ROM)) or online through an application store (eg, Play StoreTM).
  • an application store eg, Play StoreTM
  • at least a portion of the computer program product eg, a downloadable app
  • a storage medium such as a memory of a server of a manufacturer, a server of an application store, or a relay server, or temporarily can be created with
  • each of the components may be composed of a single or a plurality of entities, and some sub-components of the aforementioned sub-components may be omitted, or other sub-components may be omitted. Components may be further included in various embodiments.
  • some components eg, a module or a program
  • operations performed by a module, program, or other component may be sequentially, parallel, repetitively or heuristically executed, or at least some operations may be executed in a different order, omitted, or other operations may be added.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

Sont divulgués un dispositif électronique et son procédé de commande. Le dispositif électronique selon la présente divulgation comprend : un module de communication comprenant un circuit ; une mémoire ; et un processeur qui acquiert des données de profil comprenant des informations concernant des classes exécutées par le dépassement d'une fréquence critique pour chaque processus parmi une pluralité de processus et les stocke dans la mémoire, et qui génère des secondes listes de classes de préchargement correspondant à chaque processus parmi la pluralité de processus sur la base des données de profil pour chaque processus parmi la pluralité de processus stockés, le processeur pouvant précharger une seconde liste de classes de préchargement correspondant à un premier processus si le premier processus parmi la pluralité de processus est généré pendant que le dispositif électronique est amorcé.
PCT/KR2021/003940 2021-01-28 2021-03-30 Dispositif électronique et son procédé de commande WO2022163907A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2021-0012358 2021-01-28
KR1020210012358A KR20220109093A (ko) 2021-01-28 2021-01-28 전자 장치 및 이의 제어 방법

Publications (1)

Publication Number Publication Date
WO2022163907A1 true WO2022163907A1 (fr) 2022-08-04

Family

ID=82654707

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2021/003940 WO2022163907A1 (fr) 2021-01-28 2021-03-30 Dispositif électronique et son procédé de commande

Country Status (2)

Country Link
KR (1) KR20220109093A (fr)
WO (1) WO2022163907A1 (fr)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003316584A (ja) * 2002-04-24 2003-11-07 Matsushita Electric Ind Co Ltd プレロードクラスの生成/更新装置、及び方法
JP2006350489A (ja) * 2005-06-14 2006-12-28 Renesas Technology Corp プログラム制御方法
US20080229299A1 (en) * 2004-08-19 2008-09-18 International Business Machines Corporation Adaptive class loading
KR20170030515A (ko) * 2014-07-10 2017-03-17 하만인터내셔날인더스트리스인코포레이티드 운영 체제 시동 가속화
KR20190021726A (ko) * 2017-08-23 2019-03-06 삼성전자주식회사 운영 체제의 운용 방법 및 이를 지원하는 전자 장치

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003316584A (ja) * 2002-04-24 2003-11-07 Matsushita Electric Ind Co Ltd プレロードクラスの生成/更新装置、及び方法
US20080229299A1 (en) * 2004-08-19 2008-09-18 International Business Machines Corporation Adaptive class loading
JP2006350489A (ja) * 2005-06-14 2006-12-28 Renesas Technology Corp プログラム制御方法
KR20170030515A (ko) * 2014-07-10 2017-03-17 하만인터내셔날인더스트리스인코포레이티드 운영 체제 시동 가속화
KR20190021726A (ko) * 2017-08-23 2019-03-06 삼성전자주식회사 운영 체제의 운용 방법 및 이를 지원하는 전자 장치

Also Published As

Publication number Publication date
KR20220109093A (ko) 2022-08-04

Similar Documents

Publication Publication Date Title
WO2022030890A1 (fr) Procédé de capture d'image à fenêtres multiples et dispositif électronique associé
WO2021075905A1 (fr) Procédé d'optimisation d'application et dispositif électronique le prenant en charge
WO2022255652A1 (fr) Procédé de mise à jour d'une application et dispositif électronique associé
WO2022149771A1 (fr) Dispositif électronique et procédé de gestion de mémoire l'utilisant
WO2022149763A1 (fr) Dispositif électronique permettant de gérer un dispositif électronique externe exécutant une fonction demandée et son procédé de fonctionnement
WO2022163907A1 (fr) Dispositif électronique et son procédé de commande
WO2022149970A1 (fr) Procédé de fonctionnement de services et dispositif électronique prenant en charge celui-ci
WO2022191378A1 (fr) Dispositif électronique pour fournir un service et son procédé de fonctionnement
WO2022025505A1 (fr) Dispositif électronique permettant de fournir un service de déplacement de données, et procédé associé
WO2021177640A1 (fr) Procédé de commande d'application de dispositif électronique externe, et dispositif électronique prenant en charge ce dernier
WO2024063516A1 (fr) Dispositif et procédé de fourniture de logiciel de personnalisation
WO2022114648A1 (fr) Dispositif électronique de paramétrage d'un écran d'arrière-plan et procédé de fonctionnement dudit dispositif
WO2022234984A1 (fr) Dispositif électronique et procédé de fonctionnement d'un dispositif électronique
WO2023287057A1 (fr) Dispositif électronique permettant de rapidement mettre à jour un écran lorsqu'une entrée est reçue en provenance d'un dispositif périphérique
WO2022220551A1 (fr) Dispositif électronique fournissant un procédé de commande à connexions multiples utilisant une borne de connexion usb de type c et son procédé de fonctionnement
WO2022071665A1 (fr) Dispositif électronique pour la synchronisation d'une fonction de mise en attente d'appel dans un environnement de réseau, et procédé associé à celui-ci
WO2022191455A1 (fr) Dispositif électronique pour effectuer une rédaction de fichier et son procédé de fonctionnement
WO2022154271A1 (fr) Dispositif électronique pour effectuer un test pour détecter une défaillance d'un dispositif électronique et procédé par lequel un dispositif électronique effectue un test pour détecter une défaillance d'un dispositif électronique
WO2022154383A1 (fr) Dispositif électronique et procédé de chargement de module de noyau du dispositif électronique
WO2022098004A1 (fr) Dispositif électronique de transmission de données via une connexion de communication, et son procédé de fonctionnement
WO2022154163A1 (fr) Dispositif électronique et procédé de gestion de la mémoire d'un dispositif électronique
WO2023075153A1 (fr) Dispositif électronique et procédé permettant de commander un dispositif d'antenne en utilisant une broche de configuration pour identifier un module de communication
WO2023080625A1 (fr) Dispositif électronique pour ajuster la tension de commande d'une mémoire volatile, et son procédé de fonctionnement
WO2023068734A1 (fr) Dispositif électronique pour communiquer avec un dispositif portable, et procédé de commande associé
WO2022075621A1 (fr) Dispositif électronique, et procédé de fonctionnement de dispositif électronique

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21923339

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21923339

Country of ref document: EP

Kind code of ref document: A1