[go: up one dir, main page]

WO2022154263A1 - Dispositif électronique et son procédé de fonctionnement - Google Patents

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

Info

Publication number
WO2022154263A1
WO2022154263A1 PCT/KR2021/018483 KR2021018483W WO2022154263A1 WO 2022154263 A1 WO2022154263 A1 WO 2022154263A1 KR 2021018483 W KR2021018483 W KR 2021018483W WO 2022154263 A1 WO2022154263 A1 WO 2022154263A1
Authority
WO
WIPO (PCT)
Prior art keywords
app
electronic device
memory
free memory
usage
Prior art date
Legal status (The legal status 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 status listed.)
Ceased
Application number
PCT/KR2021/018483
Other languages
English (en)
Korean (ko)
Inventor
박성근
김학열
류부열
송지섭
신주용
최영준
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of WO2022154263A1 publication Critical patent/WO2022154263A1/fr
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3438Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment monitoring of user actions
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/448Execution paradigms, e.g. implementations of programming paradigms
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural
    • G06F9/4484Executing subprograms
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Definitions

  • Various embodiments disclosed in this document relate to an electronic device and a method of operating the electronic device.
  • a technical problem to be achieved by an embodiment disclosed in this document is to provide a method and an apparatus for providing a personalized free memory.
  • a technical problem to be achieved by an embodiment disclosed in this document is to provide a method and an apparatus for providing a personalized free memory based on a user pattern.
  • a technical problem to be achieved by an embodiment disclosed in this document is to provide a method and an apparatus capable of maintaining a processor important to the user without feeling a performance degradation between running the app and using the app to the user.
  • An electronic device includes a user interface, a communication circuit, a memory and at least one processor operatively connected to the communication circuit, and the memory, wherein the processor is , upon execution, based on a user input requesting execution of the first app of the electronic device, information on the execution of the first app is generated, and based on the generated information, the user additionally executes predicts a second app to request, based on the generated information, predicts the memory usage of the second app, and target free based on the predicted second app and the predicted memory usage of the second app Instruction for checking memory (Target Free Memory), scoring the second app, and controlling the second app based on the scored result may be stored.
  • the processor is , upon execution, based on a user input requesting execution of the first app of the electronic device, information on the execution of the first app is generated, and based on the generated information, the user additionally executes predicts a second app to request, based on the generated information, predicts the memory usage of the second app, and target free based on the predicted second app and
  • the second app may include an operation of scoring , and an operation of controlling the second app based on the scored result.
  • a method and apparatus for providing a personalized free memory based on a user pattern may be provided.
  • FIG. 1 is a block diagram of an electronic device in a network environment, according to various embodiments of the present disclosure
  • FIG. 2 is a block diagram illustrating a program according to various embodiments.
  • FIG. 3 is a block diagram illustrating a structure of an electronic device according to an exemplary embodiment disclosed in this document.
  • FIG. 4 is another block diagram illustrating a structure of an electronic device according to an exemplary embodiment disclosed in this document.
  • FIG. 5 is a block diagram illustrating a structure of a system for securing a target memory according to an embodiment disclosed in this document.
  • FIG. 6 is a flowchart of a method for an electronic device to manage a free memory using a target free memory according to an embodiment disclosed in this document.
  • FIG. 7 is a flowchart illustrating a method for an electronic device to manage a free memory using a target free memory according to a state of the electronic device according to an embodiment disclosed in this document.
  • FIG. 8 is an exemplary diagram illustrating a method for scoring by grouping apps by an electronic device according to an embodiment of the present invention.
  • FIG. 9 is an exemplary diagram of a method of scoring an app by giving weights to various factors by an electronic device according to an embodiment of the present invention.
  • FIG. 1 is a block diagram of an electronic device 101 in a network environment 100, according to various embodiments.
  • an electronic device 101 communicates with an electronic device 102 through a first network 198 (eg, a short-range wireless communication network) or a second network 199 . It may communicate with the electronic device 104 or the server 108 through (eg, a long-distance wireless communication network). According to an embodiment, the electronic device 101 may communicate with the electronic device 104 through the server 108 .
  • a first network 198 eg, a short-range wireless communication network
  • a second network 199 e.g., a second network 199
  • the electronic device 101 may communicate with the electronic device 104 through the server 108 .
  • the electronic device 101 includes a processor 120 , a memory 130 , an input module 150 , a sound output module 155 , a display module 160 , an audio module 170 , and a sensor module ( 176), interface 177, connection terminal 178, haptic module 179, camera module 180, power management module 188, battery 189, communication module 190, subscriber identification module 196 , or an antenna module 197 .
  • at least one of these components eg, the connection terminal 178
  • some of these components are integrated into one component (eg, display module 160 ). can be
  • the processor 120 for example, executes software (eg, a program 140) to execute at least one other component (eg, a hardware or software component) of the electronic device 101 connected to the processor 120. It can control and perform various data processing or operations. According to one embodiment, as at least part of data processing or operation, the processor 120 converts commands or data received from other components (eg, the sensor module 176 or the communication module 190 ) to the volatile memory 132 . may be stored in , process commands or data stored in the volatile memory 132 , and store the result data in the non-volatile memory 134 .
  • software eg, a program 140
  • the processor 120 converts commands or data received from other components (eg, the sensor module 176 or the communication module 190 ) to the volatile memory 132 .
  • the volatile memory 132 may be stored in , process commands or data stored in the volatile memory 132 , and store the result data in the non-volatile memory 134 .
  • the processor 120 is the main processor 121 (eg, a central processing unit or an application processor) or a secondary processor 123 (eg, a graphic processing unit, a neural network processing unit (eg, a graphic processing unit, a neural network processing unit) a neural processing unit (NPU), an image signal processor, a sensor hub processor, or a communication processor).
  • the main processor 121 eg, a central processing unit or an application processor
  • a secondary processor 123 eg, a graphic processing unit, a neural network processing unit (eg, a graphic processing unit, a neural network processing unit) a neural processing unit (NPU), an image signal processor, a sensor hub processor, or a communication processor.
  • the main processor 121 e.g, a central processing unit or an application processor
  • a secondary processor 123 eg, a graphic processing unit, a neural network processing unit (eg, a graphic processing unit, a neural network processing unit) a neural processing unit (NPU), an image signal processor, a
  • the coprocessor 123 may be, for example, on behalf of the main processor 121 while the main processor 121 is in an inactive (eg, sleep) state, or when the main processor 121 is active (eg, executing an application). ), together with the main processor 121, at least one of the components of the electronic device 101 (eg, the display module 160, the sensor module 176, or the communication module 190) It is possible to control at least some of the related functions or states.
  • the coprocessor 123 eg, an image signal processor or a communication processor
  • may be implemented as part of another functionally related component eg, the camera module 180 or the communication module 190 ). have.
  • the auxiliary processor 123 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 101 itself on which artificial intelligence 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 130 may store various data used by at least one component (eg, the processor 120 or the sensor module 176 ) of the electronic device 101 .
  • the data may include, for example, input data or output data for software (eg, the program 140 ) and instructions related thereto.
  • the memory 130 may include a volatile memory 132 or a non-volatile memory 134 .
  • the program 140 may be stored as software in the memory 130 , 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 by a component (eg, the processor 120 ) of the electronic device 101 from the outside (eg, a user) of the electronic device 101 .
  • 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 101 .
  • 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 101 .
  • 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 101 .
  • 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 101 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 101 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 101 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 101 .
  • 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 101 .
  • battery 189 may include, for example, a non-rechargeable primary cell, a rechargeable secondary cell, or a fuel cell.
  • the communication module 190 is a direct (eg, wired) communication channel or a wireless communication channel between the electronic device 101 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.
  • the communication module 190 may include one or more communication processors that operate independently of the processor 120 (eg, an application processor) and support direct (eg, wired) communication or wireless communication.
  • the communication module 190 is a wireless communication module 192 (eg, a cellular communication module, a short-range communication module, or a global navigation satellite system (GNSS) communication module) or a wired communication module 194 (eg, : It may include a local area network (LAN) communication module, or a power line communication module).
  • a wireless communication module 192 eg, a cellular communication module, a short-range communication module, or a global navigation satellite system (GNSS) communication module
  • GNSS global navigation satellite system
  • wired communication module 194 eg, : It may include a local area network (LAN) communication module, or a power line communication module.
  • 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 first network 198 eg, 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).
  • a telecommunication network
  • the wireless communication module 192 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 101 may be identified or authenticated.
  • the wireless communication module 192 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 192 may support a high frequency band (eg, mmWave band) to achieve a high data rate, for example.
  • a high frequency band eg, mmWave band
  • the wireless communication module 192 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.
  • the wireless communication module 192 may support various requirements defined in the electronic device 101 , an external electronic device (eg, the electronic device 104 ), or a network system (eg, the second network 199 ).
  • the wireless communication module 192 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.
  • a peak data rate eg, 20 Gbps or more
  • loss coverage eg, 164 dB or less
  • U-plane latency for realizing URLLC
  • 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 190 . can be selected. A signal or power may be transmitted or received between the communication module 190 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 101 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 101 .
  • all or a part of operations executed in the electronic device 101 may be executed in one or more external electronic devices 102 , 104 , or 108 .
  • the electronic device 101 may perform the function or service 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 101 .
  • the electronic device 101 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 101 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 101 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. 2 is a block diagram 200 illustrating a program 140 in accordance with various embodiments.
  • the program 140 executes an operating system 142 , middleware 144 , or an application 146 executable in the operating system 142 for controlling one or more resources of the electronic device 101 .
  • may include Operating system 142 may include, for example, AndroidTM, iOSTM, WindowsTM, SymbianTM, TizenTM, or BadaTM.
  • At least some of the programs 140 are, for example, preloaded into the electronic device 101 at the time of manufacture, or an external electronic device (eg, the electronic device 102 or 104 ), or a server (eg, the electronic device 102 or 104 ) when used by a user ( 108)), or may be updated.
  • the operating system 142 may control management (eg, allocation or retrieval) of one or more system resources (eg, a process, memory, or power) of the electronic device 101 .
  • the operating system 142 may additionally or alternatively include other hardware devices of the electronic device 101 , for example, the input device 150 , the sound output device 155 , the display device 160 , and the audio module 170 . , sensor module 176 , interface 177 , haptic module 179 , camera module 180 , power management module 188 , battery 189 , communication module 190 , subscriber identification module 196 , or It may include one or more driver programs for driving the antenna module 197 .
  • the middleware 144 may provide various functions to the application 146 so that functions or information provided from one or more resources of the electronic device 101 may be used by the application 146 .
  • the middleware 144 includes, for example, an application manager 201 , a window manager 203 , a multimedia manager 205 , a resource manager 207 , a power manager 209 , a database manager 211 , and a package manager 213 . ), a connectivity manager 215 , a notification manager 217 , a location manager 219 , a graphics manager 221 , a security manager 223 , a call manager 225 , or a voice recognition manager 227 .
  • an application manager 201 includes, for example, an application manager 201 , a window manager 203 , a multimedia manager 205 , a resource manager 207 , a power manager 209 , a database manager 211 , and a package manager 213 .
  • a connectivity manager 215 a notification manager 217 , a
  • the application manager 201 may manage the life cycle of the application 146 , for example.
  • the window manager 203 may manage one or more GUI resources used in the screen, for example.
  • the multimedia manager 205 for example, identifies one or more formats required for playback of media files, and encodes or decodes a corresponding media file among the media files using a codec suitable for the selected format. can be done
  • the resource manager 207 may manage the space of the source code of the application 146 or the memory of the memory 130 , for example.
  • the power manager 209 may, for example, manage the capacity, temperature, or power of the battery 189 , and determine or provide related information required for the operation of the electronic device 101 by using the corresponding information. . According to an embodiment, the power manager 209 may interwork with a basic input/output system (BIOS) (not shown) of the electronic device 101 .
  • BIOS basic input/output system
  • the database manager 211 may create, retrieve, or change a database to be used by the application 146 , for example.
  • the package manager 213 may manage installation or update of an application distributed in the form of a package file, for example.
  • the connectivity manager 215 may manage, for example, a wireless connection or a direct connection between the electronic device 101 and an external electronic device.
  • the notification manager 217 may provide, for example, a function for notifying the user of the occurrence of a specified event (eg, an incoming call, a message, or an alarm).
  • the location manager 219 may manage location information of the electronic device 101 , for example.
  • the graphic manager 221 may manage, for example, one or more graphic effects to be provided to a user or a user interface related thereto.
  • Security manager 223 may provide, for example, system security or user authentication.
  • the telephony manager 225 may manage, for example, a voice call function or a video call function provided by the electronic device 101 .
  • the voice recognition manager 227 for example, transmits the user's voice data to the server 108, and based at least in part on the voice data, a command corresponding to a function to be performed in the electronic device 101; Alternatively, the converted text data may be received from the server 108 based at least in part on the voice data.
  • the middleware 244 may dynamically delete some existing components or add new components.
  • at least a portion of the middleware 144 may be included as a part of the operating system 142 or implemented as software separate from the operating system 142 .
  • Application 146 includes, for example, home 251 , dialer 253 , SMS/MMS 255 , instant message (IM) 257 , browser 259 , camera 261 , alarm 263 . , contacts 265, voice recognition 267, email 269, calendar 271, media player 273, album 275, watch 277, health 279 (such as exercise or blood sugar) measuring biometric information), or environmental information 281 (eg, measuring atmospheric pressure, humidity, or temperature information).
  • the application 146 may further include an information exchange application (not shown) capable of supporting information exchange between the electronic device 101 and an external electronic device.
  • the information exchange application may include, for example, a notification relay application configured to transmit specified information (eg, call, message, or alarm) to an external electronic device, or a device management application configured to manage the external electronic device.
  • the notification relay application for example, transmits notification information corresponding to a specified event (eg, mail reception) generated in another application (eg, the email application 269 ) of the electronic device 101 to the external electronic device.
  • the notification relay application may receive notification information from the external electronic device and provide it to the user of the electronic device 101 .
  • the device management application is, for example, a power source (eg, turn-on or turn-on or turn on) of an external electronic device that communicates with the electronic device 101 or some components thereof (eg, the display device 160 or the camera module 180 ). -off) or a function (eg, brightness, resolution, or focus of the display device 160 or the camera module 180 ) may be controlled.
  • the device management application may additionally or alternatively support installation, deletion, or update of an application operating in an external electronic device.
  • FIG. 3 is a block diagram illustrating a structure of an electronic device 300 according to an exemplary embodiment disclosed in this document. For clarity of explanation, things that overlap with those described above may be simplified or omitted.
  • the electronic device 300 includes a processor 301 (eg, the processor 120 of FIG. 1 ), a memory 302 (eg, the memory 130 of FIG. 1 ), and a user interface 303 . and a communication module 304 (eg, the communication module 190 of FIG. 1 ).
  • the user interface 303 may include a microphone (not shown) (eg, the input device 150 of FIG. 1 ) and a speaker (not shown) (eg, the sound output device 155 of FIG. 1 ).
  • the electronic device 300 may further include at least one additional component in addition to the components illustrated in FIG. 3 .
  • the components of the electronic device 300 may be the same entity or may constitute separate entities.
  • the electronic device 300 may include, for example, a smart phone, a tablet, a wearable device, a home appliance, or a digital camera.
  • the processor 301 includes a communication module 304 , a memory 302 , a user interface 303 (a microphone (not shown)) and a speaker (not shown) in order to perform overall functions of the electronic device 300 . )) and may be operatively coupled.
  • Processor 301 may include, for example, one or more processors.
  • the one or more processors may include, for example, an image signal processor (ISP), an application processor (AP), or a communication processor (CP).
  • ISP image signal processor
  • AP application processor
  • CP communication processor
  • the processor 301 executes the instructions stored in the memory 302, and a module (eg, the active manager module 401 of FIG. 4 , the effective memory monitoring module 402 , the next execution app prediction module 403 , The app memory usage monitoring module 404, the free memory monitoring module 405, the app scoring module 406, and the process control module 407) may be driven.
  • a module eg, the active manager module 401 of FIG. 4 , the effective memory monitoring module 402 , the next execution app prediction module 403 , The app memory usage monitoring module 404, the free memory monitoring module 405, the app scoring module 406, and the process control module 407 may be driven.
  • the processor 301 includes a module (eg, the active manager module 401 of FIG. 4 , the effective memory monitoring module 402 , the next execution app prediction module 403 , The app memory usage monitoring module 404 , the free memory monitoring module 405 , the app scoring module 406 , and the process control module 407 ) may be operatively connected.
  • modules eg, the active manager module 401 of FIG. 4 , the effective memory monitoring module 402 , the next execution app prediction module 403 , The app memory usage monitoring module 404 , the free memory monitoring module 405 , the app scoring module 406 , and the process control module 407 .
  • modules eg, the active manager module 401 of FIG.
  • the effective memory monitoring module 402 the next running app prediction module 403 , the app memory usage monitoring module 404 , the free
  • the operation performed (or executed) by the memory monitoring module 405 , the app scoring module 406 , and the process control module 407 ) is performed by the processor 301 executing instructions stored in the memory 302 . It can be understood as an action.
  • the processor 301 includes a module (eg, the active manager module 401 of FIG. 4 , the effective memory monitoring module 402 , the next execution app prediction module 403 , and the app memory usage monitoring module 404 ) , a free memory monitoring module 405 , an app scoring module 406 , and a process control module 407 ).
  • modules eg, the active manager module 401 of FIG. 4 , the effective memory monitoring module 402 , the next execution app prediction module 403 , the app memory usage monitoring module 404 , the free memory monitoring module 405 , the app scoring module 406 , and the process control module 407 ) performed (or executed) may be implemented as at least a part of the processor 301 .
  • the memory 302 may store a database (not shown) including at least one input data (eg, the database 408 of FIG. 4 ).
  • the memory 302 may store commands, information, or data related to operations of components included in the electronic device 300 .
  • the memory 302 may store instructions that, when executed, enable the processor 301 to perform various operations described herein.
  • the electronic device 300 may receive a user input using the user interface 303 .
  • the user input may be an input for a user to execute an app.
  • the user input may be a user's voice input (eg, utterance).
  • the electronic device 300 may receive the user input through a microphone (or a voice receiving device) (not shown).
  • the user input may be a user's touch input and/or a gesture input.
  • the electronic device 300 may receive the user input through a sensor (not shown).
  • At least one operation among the operations of each component described with reference to the electronic device 300 may be performed (or executed) by an external server (not shown) or another electronic device (not shown).
  • the processor 301 may transmit a user input to an external server (not shown) or another electronic device (not shown) using the communication module 304 .
  • the processor 301 may include at least one processor, and may be divided into a main processor that is physically divided and performs high-performance processing and an auxiliary processor that performs low-power processing. Alternatively, one processor may switch between high performance and low power depending on the situation.
  • the processor 301 generates information on the execution of the first app based on a user input requesting execution of the first app of the electronic device, and based on the generated information, Predict a second app that the user will additionally request to run, based on the generated information, predict the memory usage of the second app, and predict the memory of the second app and the predicted second app It is possible to check a target free memory based on usage, score the second app, and control the second app based on the scored result.
  • the processor 301 compares the free memory of the electronic device with the target free memory based on a load event and a timer of the memory, and when the free memory is lower than the target free memory, the 2 You can control the app.
  • the processor 301 may set the target free memory based on a user's usage pattern of the electronic device.
  • the processor 301 may learn information about the TPO of the app based on the user's app execution information, and reflect the learned information about the TPO of the app to the user's usage pattern. .
  • the processor 301 generates a list including a value of the probability that the second app will be executed, and controls the second app based on the probability value that the second app of the generated list will be executed.
  • the processor 301 checks the memory (PSS) usage of the second app at regular time intervals when the second app is running in the electronic device, and the checked memory of the second app.
  • the maximum memory usage and the minimum memory usage of the second app may be stored using the (PSS) usage, and the maximum memory usage and the minimum memory usage may be reflected in the memory usage of the second app.
  • the processor 301 may check the predicted free memory based on the predicted memory usage of the second app, and reflect the checked predicted free memory to the target free memory.
  • the processor 301 may compare the target free memory with the free memory of the electronic device, and if the free memory is lower than the target free memory, score the second app.
  • the processor 301 may form a plurality of groups using a plurality of factors and include the second app in one of the plurality of groups.
  • the processor 301 compares the target free memory with the free memory of the electronic device, and terminates the second app according to the scored order until the free memory becomes higher than the target free memory. or pause.
  • FIG. 4 is another block diagram illustrating a structure of an electronic device 400 according to an exemplary embodiment disclosed in this document. For clarity of explanation, things that overlap with those described above may be simplified or omitted.
  • the electronic device 400 includes a database 408 , an active manager module 401 , an effective memory monitoring module 402 , a next execution app prediction module 403 , and an app memory usage monitoring module ( 404 , a free memory monitoring module 405 , an app scoring module 406 , and/or a process control module 407 .
  • the components listed above may be operatively or electrically connected to each other.
  • the active manager module 401 may execute the requested app in response to a user input requesting to run the app.
  • the active manager module 401 may transmit a result according to the execution of the app to the next app execution prediction module 403 and the app memory usage monitoring module 404 .
  • the result according to the execution of the app may mean execution information about the executed app.
  • the effective memory monitoring module 402 periodically checks the free memory of the electronic device 400 using a memory load event and a timer operation to check whether it is lower than the target free memory. can do.
  • the target free memory may mean a target value of the free memory to be secured by the electronic device 400 .
  • the electronic device 400 is in the basic state of the electronic device 400 (eg, the version of the OS installed in the electronic device 400, the operation of the system service, the ram size, the display resolution, the electronic device ( apps installed by default on the electronic device 400 ) and/or usage patterns of the electronic device 400 (eg, the types of apps additionally installed on the electronic device 400 , a record of apps executed on the electronic device 400 )
  • the target free memory may be set.
  • the electronic device 400 may schedule processes that are being operated or are scheduled to be operated in the electronic device 400 . Since the electronic device 400 consumes memory during the scheduling process, a load event of the memory may be generated.
  • the next running app prediction module 403 may generate information about the TPO of the app based on the app execution information and store it in the database 402 .
  • the information about the TPO of the app may mean information about the time, place, and situation when the app is executed.
  • the next running app prediction module 403 may infer the user's pattern of the electronic device 400 using the TPO of the app.
  • the next running app prediction module 403 may generate a list of the name of the app to be executed next and the reliability value of the app based on the app execution information according to the TPO.
  • the reliability value may mean a probability value that the app will be executed.
  • the app memory usage monitoring module 404 may periodically measure the memory usage of apps included in or operatively connected to the electronic device 400 .
  • the memory may refer to a memory included in or operatively connected to the electronic device 400 .
  • the app memory usage monitoring module 404 may periodically monitor the memory (PSS) used by each app at regular time intervals while the apps are running.
  • the time interval may be determined by a specification of the electronic device 400 or may be determined by a user's setting. In an embodiment, the time interval may be determined by the current battery usage of the electronic device 400 .
  • the app memory usage monitoring module 404 may manage the maximum memory usage and the minimum memory usage for each app by using the monitoring result.
  • the app memory usage monitoring module 404 stores the maximum memory usage and the minimum memory usage for each app in the database 408 using the monitoring result, and The maximum memory usage and the minimum memory usage may be reflected in the memory usage for each of the apps.
  • the free memory monitoring module 405 may measure the size of the expected free memory of the electronic device 400 .
  • the predicted free memory may mean a size of the free memory predicted based on the memory usage of apps predicted to be used next.
  • the free memory module 405 may measure the expected free memory of the electronic device 400 in response to a timer and/or a memory load.
  • the memory load may be measured using pss.
  • the shared memory between apps using the pss it can be calculated by reflecting the memory usage of the app.
  • the free memory monitoring module 405 may check the estimated free memory by using the list of apps expected to be executed next and/or the maximum memory usage of the corresponding app.
  • the free memory monitoring module 405 may reflect the predicted free memory to the target free memory.
  • the free memory monitoring module 405 may adjust the target free memory to be personalized by reflecting the expected free memory in the target free memory.
  • the target free memory may mean a reference value of the free memory to be secured by the electronic device 101 .
  • the free memory monitoring module 405 may compare the target free memory and the free memory.
  • the free memory may mean the size of the free memory of the current electronic device 400 .
  • the app scoring module 406 may score the apps by grouping the apps included in the electronic device 400 or operatively connected to the running apps.
  • the grouping refers to dividing an app running on the electronic device 400 into multiple groups using various factors, such as an app playing music in the background, an app known to cause a problem when terminated, and/or an app frequently used by users. can mean doing
  • the app scoring module 406 is configured to use the LRU-based execution order, the bucket order in the App Standby Bucket, the process memory usage and/or group information as factors for each of the factors. You can score your app by weighting it.
  • the target memory securing module 407 may control an app running in the electronic device 400 until the expected free memory becomes higher than the target free memory based on the app list and the app scoring result.
  • the target memory securing module 407 sequentially terminates or pauses apps running in the electronic device 400 according to the scored order until the free memory becomes higher than the target free memory. can be controlled with The pause may mean a method of preventing self-waking without an external push message.
  • the electronic device 400 may pause the running app according to the scored order.
  • the electronic device 400 may stop running the app until it receives a user input for the paused running app.
  • FIG. 5 is a block diagram illustrating a structure of a target memory securing system 500 according to an embodiment disclosed in this document. For clarity of explanation, things that overlap with those described above may be simplified or omitted.
  • the user pattern learning module 501 may learn an app usage pattern of a user who uses the electronic device 101 .
  • the user pattern learning module 501 may include an active manager module 502 , an app memory usage monitoring module 503 , and a next running app prediction module 504 .
  • the user pattern learning module 501 does not always include the active manager module 502 , the app memory usage monitoring module 503 , and the next running app prediction module 504 .
  • the user pattern learning module 501 includes the active manager module 502 in FIG. 5 , the active manager module 502 may be changed to be configured as a separate module.
  • the active manager module 502 may receive an application execution request from a user.
  • the active manager may execute the requested app in response to the user's request to run the app.
  • the active manager module 502 may transmit a result according to the execution of the app to the next app execution prediction module 504 and the app memory usage monitoring module 503 .
  • the result according to the execution of the app may be execution information about the executed app.
  • the next app execution prediction module 504 may generate and store information about the TPO of the app based on the execution information received from the active manager module 502 .
  • the information about the TPO of the app may mean information about the time, place, and situation when the app is executed.
  • Next app execution prediction module 504 may learn information about the TPO of the app.
  • Next app execution prediction module 504 generates information about a package executed when the user runs the app using the result according to the app execution, and learns information about the package executed when the user runs the app.
  • the electronic device 101 may execute an app distributed in the form of a package file.
  • the next app execution prediction module 504 generates information about the package file executed when the app distributed in the form of the package file is executed, It is possible to learn information about the package file according to the execution of the generated app.
  • next app execution prediction module 504 may learn information about the TPO of the app using machine learning.
  • the next app execution prediction module 504 may generate a list of apps to be executed next to the execution-requested app through the learning.
  • the next app execution prediction module 504 may generate a trust value for each app included in the list.
  • the trust value may mean a probability value that the app will be executed.
  • the next app execution prediction module 504 may transmit the list of apps and a trust value for each app included in the list to the free memory monitoring module 505 .
  • the app memory usage monitoring module 503 may receive execution information from the active manager module 502 .
  • the app memory usage monitoring module 503 may measure the memory (eg, pss memory) of the running app by using the received execution information.
  • the app memory usage monitoring module 503 may periodically monitor the memory PSS used by the app at regular time intervals while the app is running.
  • the time interval may be determined by a specification of the electronic device 101 or may be determined by a user's setting.
  • the app memory usage monitoring module 503 may manage the maximum memory usage and the minimum memory usage for the app by using the monitoring result.
  • the app memory usage monitoring module 503 may store the maximum memory usage and the minimum memory usage for the app. By storing the maximum memory usage and the minimum memory usage for the app, even if the same app is used, different memory usage for each user can be reflected in the target free memory setting. For example, even if the same camera app is used, depending on the user, a difference in memory usage may occur between a user who uses only the basic function of the app and a user who uses even an additional function of the app. The app memory usage monitoring module 503 may more accurately reflect the user's memory usage when using the camera app by storing the maximum memory usage and the minimum memory usage when the user uses the camera app.
  • the app memory usage monitoring module 503 may learn a change in the user's memory usage for the app by using the stored maximum and minimum memory usage. In an embodiment, the app memory usage monitoring module 503 may learn a change in the user's memory usage for the app by using machine learning. The app memory usage monitoring module 503 may predict the user's memory usage for the app through the learning.
  • the app memory usage monitoring module 503 may transmit information predicting the user's memory usage for the app to the free memory monitoring module 505 .
  • the free memory monitoring module 505 may measure the size of the expected free memory of the electronic device 101 .
  • the predicted free memory may mean a size of the free memory predicted based on the memory usage of apps predicted to be used next.
  • the free memory monitoring module 505 is a list of the apps received from the next execution app prediction module 504 and a trust value for each app included in the list and / or received from the app memory usage monitoring module 503
  • the estimated free memory may be measured using information that predicts the user's memory usage for the app.
  • the free memory monitoring module 505 may reflect the predicted free memory to the target free memory.
  • the free memory monitoring module 505 may adjust the target free memory to be personalized by reflecting the predicted free memory in the target free memory.
  • the free memory monitoring module 505 may compare the target free memory and the free memory.
  • the free memory may mean the size of the free memory of the current electronic device 101 . If the target free memory is higher than the free memory, the free memory monitoring module 505 may request the app scoring module 506 to score the app.
  • the app scoring module 506 may perform grouping on apps included in or operatively connected to the electronic device 400 .
  • the grouping refers to dividing an app running on the electronic device 101 into multiple groups using various factors, such as an app playing music in the background, an app known to cause problems upon termination, and/or an app frequently used by users. can mean doing
  • the app scoring module 506 the LRU-based execution order, the bucket (Bucket) order in the app standby bucket (App Standby Bucket), process memory usage and / or group information as factors to each of the factors You can score your app by weighting it.
  • the app scoring module 506 may transmit the ranking of the scored apps to the target memory securing module 507 .
  • the target memory securing module 507 may control an app running in the electronic device 400 until the free memory becomes higher than the target free memory based on the app list and the app ranking of the app scored apps.
  • the target memory securing module 407 may control the apps running in the electronic device 101 to sequentially terminate or pause until the expected free memory becomes higher than the target free memory. .
  • the pause may mean a method of preventing self-waking without an external push message.
  • FIG. 6 is a flowchart 600 of a method for the electronic device 101 to manage a free memory using a target free memory according to an embodiment disclosed in this document.
  • the processor eg, the processor 120 of FIG. 1
  • the electronic device converts the memory (eg, the memory ( ) of FIG. 1 ) 130))), and may be understood to be executed by executing the stored instruction.
  • the electronic device 101 may execute an app in response to a user input.
  • the user input may mean an input for requesting execution of an app included in or operatively connected to the electronic device 101 .
  • the electronic device 101 may receive the user input using a user interface included in or operatively connected to the electronic device 101 .
  • the user interface may include a microphone, a touch screen, and an input device.
  • the electronic device 101 may receive a user input through a microphone (or a voice receiving device).
  • the electronic device 101 may identify input data matching the received user input. For example, when the user input is a voice input (eg, utterance), the electronic device 101 may convert the received user input into text data.
  • the electronic device 101 may execute the requested app in response to the user input requesting to run the app.
  • the electronic device 101 may store execution information according to the execution of the app.
  • the electronic device 101 may generate and store information about the TPO of the app based on the execution information according to the execution of the app.
  • the information about the TPO of the app may mean information about the time, place, and situation when the app is executed.
  • the electronic device 101 may learn information about the TPO of the app.
  • the electronic device 101 generates information about a package executed when the user runs the app using a result of the app execution, and receives information about the package launched when the user runs the app. can learn
  • the electronic device 101 may predict the next running app.
  • the next execution app may mean an app to be executed after the execution-requested app.
  • the electronic device 101 may generate a list of apps to be executed after the execution-requested app through the learning.
  • the electronic device 101 may generate a trust value for each app included in the list. The trust value may mean a probability value that the app will be executed.
  • the electronic device 101 may measure the app memory usage.
  • the electronic device 101 may measure the memory (eg, pss memory) of the running app by using the execution information.
  • the electronic device 101 may periodically monitor the memory PSS used by the app at regular time intervals.
  • the time interval may be determined by a specification of the electronic device 101 or may be determined by a user's setting.
  • the electronic device 101 may manage the maximum memory usage and the minimum memory usage for the app by using the monitoring result.
  • the electronic device 101 may store the maximum memory usage and the minimum memory usage for the app. By storing the maximum memory usage and the minimum memory usage for the app, even if the same app is used, different memory usage for each user can be reflected in the target free memory setting.
  • the target free memory may mean a reference value of the free memory to be secured by the electronic device 101 . For example, even if the same camera app is used, depending on the user, a difference in memory usage may occur between a user who uses only the basic function of the app and a user who uses even an additional function of the app.
  • the electronic device 101 may more accurately reflect the user's memory usage when using the camera app by storing the maximum memory usage and the minimum memory usage when the user uses the camera app.
  • the electronic device 101 may identify the target free memory.
  • the electronic device 101 may measure the size of the expected free memory.
  • the predicted free memory may mean a size of the free memory predicted based on the memory usage of apps predicted to be executed next.
  • the electronic device 101 may measure the expected free memory of the electronic device 101 in response to a timer and/or a memory load.
  • the electronic device 101 may measure the memory load using pss. By measuring the memory load using the pss, there is an effect that can be calculated by reflecting the memory usage of the app even when the memory is shared between apps.
  • the electronic device 101 may reflect the predicted free memory in the target free memory.
  • the electronic device 101 may adjust the target free memory to be personalized by reflecting the predicted free memory in the target free memory.
  • the electronic device 101 may compare the target free memory and the current free memory.
  • the electronic device 101 may preemptively respond to a memory shortage by comparing the target free memory to which the expected free memory is reflected and the current free memory.
  • the electronic device 101 may perform an app scoring.
  • the app scoring may mean giving rankings to apps that are included in or operatively connected to the electronic device 101 .
  • the electronic device 101 may perform an app scoring.
  • the electronic device 101 may score an app by grouping an app included in or operatively connected to the electronic device 101 and running.
  • the grouping refers to dividing an app running on the electronic device 101 into multiple groups using various factors, such as an app playing music in the background, an app known to cause problems when terminated, and/or an app frequently used by users. can mean doing
  • the electronic device 101 uses the LRU-based execution order, the bucket order in the App Standby Bucket, process memory usage, and/or group information as factors to give weights to each of the factors. You can score your app with given
  • the electronic device 101 may control the app according to the scored app ranking. Based on the app list and the app scoring result, the electronic device 101 may control the app running in the electronic device 101 until the expected free memory becomes higher than the target free memory. In an embodiment, the electronic device 101 sequentially terminates or pauses apps running on the electronic device 101 according to the scored order until the free memory becomes higher than the target free memory. can do. The pause may mean a method of preventing self-waking without an external push message.
  • the electronic device 101 sequentially performs operations 601 to 611, but this is exemplary and some of the operations may be performed by the electronic device 101 and others may be changed to be performed by an external device.
  • operation 601 may be performed by the electronic device and operations 603 to 611 may be performed by the server.
  • FIG. 7 is a flowchart 700 of a method in which the electronic device 101 manages a free memory using a target free memory according to a state of the electronic device according to an embodiment disclosed in this document.
  • the processor eg, the processor 120 of FIG. 1
  • the memory eg, the memory ( ) of FIG. 1 ) 130)
  • the electronic device 101 may receive a free memory check request.
  • the electronic device 101 may receive a free memory check request in response to a user's input to run the app.
  • the electronic device 101 may periodically monitor the memory PSS used by the app at regular time intervals.
  • the electronic device 101 may receive a free memory check request when the monitored result value exceeds a preset threshold value.
  • the electronic device 101 may determine whether the electronic device 101 is in a hot start state.
  • the hot start state means that the electronic device 101 learns the next running app prediction module using the learned app usage pattern, and as the next running app prediction module learns, each app is used in the past This may mean a point in time at which the memory usage that has been used can be checked.
  • the target free memory may be set based on a user's app usage pattern.
  • the electronic device 101 may perform operation 705 .
  • the electronic device 101 may predict the next running app.
  • the electronic device 101 may predict an app to be executed next to the currently running app and generate a list of the predicted apps.
  • the electronic device 101 may generate a trust value for each app included in the list. The trust value may mean a probability value that the app will be executed.
  • the electronic device 101 may generate a list of the apps by using information about the TPO of the app.
  • the information about the TPO of the app may mean information about the time, place, and situation when the app is executed.
  • the electronic device 101 may measure the app memory usage.
  • the electronic device 101 may measure the memory (eg, pss memory) of the running app by using the execution information.
  • the electronic device 101 may periodically monitor the memory PSS used by the app at regular time intervals.
  • the time interval may be determined by a specification of the electronic device 101 or may be determined by a user's setting.
  • the electronic device 101 may manage the maximum memory usage and the minimum memory usage for the app by using the monitoring result.
  • the electronic device 101 may store the maximum memory usage and the minimum memory usage for the app.
  • the electronic device 101 may identify the target free memory.
  • the electronic device 101 may measure the size of the expected free memory.
  • the predicted free memory may mean a size of the free memory predicted based on the memory usage of apps predicted to be executed next.
  • the electronic device 101 may measure the expected free memory of the electronic device 101 in response to a timer and/or a memory load.
  • the electronic device 101 may measure the memory load using pss. By measuring the memory load using the pss, there is an effect that can be calculated by reflecting the memory usage of the app even when the memory is shared between apps.
  • the electronic device 101 may reflect the predicted free memory in the target free memory.
  • the electronic device 101 may adjust the target free memory to be personalized by reflecting the predicted free memory in the target free memory.
  • the electronic device 101 when the electronic device is in a hot start state, the electronic device 101 corrects the target free memory based on the memory usage used by the respective apps in the past, thereby providing a personalized target free memory (target free memory). As the electronic device 101 provides the personalized target free memory, it is possible to provide optimal app execution and usage performance for each user.
  • operation 711 may be performed.
  • the state other than the hot start state may mean a cold start state.
  • the cold start state may mean a state before the electronic device 101 learns the user's app usage pattern.
  • the cold start state may mean a stage in which the user of the electronic device 101 uses the electronic device 101 for the first time.
  • the cold start state may mean a state in which inference cannot be made because past data on how much memory will be used for an app written by a user has not yet been accumulated.
  • the target free memory when the electronic device 101 is in a cold start state, may be set and managed as a default value.
  • the default value may mean a target free memory that is evaluated to be optimized for an average user at the time when the electronic device 101 is manufactured.
  • the electronic device 101 may compare the target free memory and the free memory. When the free memory is lower than the target free memory, the electronic device 101 may perform operation 713 . Conversely, when the free memory is higher than the target free memory, the electronic device 101 may terminate the process.
  • the electronic device 101 may perform an app scoring.
  • the app scoring may mean giving rankings to apps that are included in or operatively connected to the electronic device 101 .
  • the electronic device 101 may score an app by grouping an app included in or operatively connected to the electronic device 101 and running.
  • the grouping refers to dividing an app running on the electronic device 101 into multiple groups using various factors, such as an app playing music in the background, an app known to cause problems when terminated, and/or an app frequently used by users. can mean doing
  • the electronic device 101 uses the LRU-based execution order, the bucket order in the App Standby Bucket, process memory usage, and/or group information as factors to give weights to each of the factors. You can score your app with given
  • the electronic device 101 may control the app according to the scored app ranking. Based on the app list and the app scoring result, the electronic device 101 may control an app running in the electronic device 101 until the free memory becomes higher than the target free memory. In an embodiment, the electronic device 101 sequentially terminates or pauses apps running on the electronic device 101 according to the scored order until the free memory becomes higher than the target free memory. can do. The pause may mean a method of preventing self-waking without an external push message.
  • operation 701 may be performed by the electronic device and operations 703 to 715 may be performed by the server.
  • the method performed by the electronic device 101 responds to a user input requesting execution of the first app of the electronic device when a process for a memory included in the electronic device or connected to the electronic device is executed. based on an operation of generating information on the execution of the first app, an operation of predicting a second app that the user will additionally request execution based on, based on the generated information, based on the generated information, the second application.
  • the method performed by the electronic device 101 includes an operation of comparing the free memory of the electronic device with the target free memory based on a load event and a timer of the memory, and the free memory is larger than the target free memory.
  • the operation of controlling the second app may be further included.
  • the method performed by the electronic device 101 may further include setting the target free memory based on a user's usage pattern of the electronic device.
  • the method performed by the electronic device 101 includes an operation of learning information about the TPO of an app based on the user's app execution information and a usage pattern of the user using information about the learned TPO of the app. It may further include an operation to reflect the.
  • the method performed by the electronic device 101 includes an operation of generating a list including a probability value of the execution of the second app and the second app based on a probability value of the execution of the second app of the generated list.
  • the app control may further include an action.
  • the method performed by the electronic device 101 includes an operation of checking the memory (PSS) usage of the second app at regular time intervals when the second app is running in the electronic device, the checked
  • the operation of storing the maximum and minimum memory usage of the second app using the memory (PSS) usage of the second app and the operation of reflecting the maximum memory usage and the minimum memory usage to the memory usage of the second app may include more.
  • the method performed by the electronic device 101 includes, based on the predicted memory usage of the second app, checking the predicted free memory and reflecting the checked predicted free memory to the target free memory It may further include an action.
  • the method performed by the electronic device 101 includes, in response to an operation of comparing the target free memory and the free memory of the electronic device, and the free memory being lower than the target free memory, to execute the second app. It may further include an operation of scoring.
  • the method performed by the electronic device 101 may further include an operation of forming a plurality of groups using a plurality of factors and an operation of including the second app in one of the plurality of groups.
  • the method performed by the electronic device 101 includes an operation of comparing the target free memory with the free memory of the electronic device, and according to the scored order until the free memory becomes higher than the target free memory.
  • An operation of terminating or pausing the second app may be further included.
  • FIG. 8 is an exemplary diagram of a method for scoring by grouping apps by the electronic device 101 according to an embodiment of the present invention.
  • the electronic device 101 may bring a list of all currently running apps from among the apps included in the electronic device 101 or operatively connected.
  • the electronic device 101 may score the app list according to a preset criterion.
  • the criteria may be continuously updated. For example, the electronic device 101 may expand a parameter included in the reference and may change a weight according to a situation.
  • the electronic device 101 may group the apps expected to harm the user experience to give different weights.
  • the electronic device 101 may be grouped into four groups, G1 801 , G2 802 , G3 803 , and G4 804 according to the degree of impairing the user experience.
  • the G4 804 terminates the corresponding app, the user immediately recognizes the end of the corresponding app and includes apps that will be most affected by the user experience.
  • the G1 801 includes apps that not only do not immediately recognize the end of the corresponding app, but also have the lowest impact on user experience.
  • the electronic device 101 may determine a group according to the user experience of each app according to the characteristics of each app. For example, the electronic device 101 may determine a group according to the user experience of the app according to whether the corresponding app is a pre-installed app or an app directly installed by the user. Alternatively, the electronic device 101 may determine a group according to the user experience according to whether the corresponding app is being displayed in a notification or is playing music.
  • the electronic device 101 may allocate the same basic score to apps belonging to each group. For example, in the electronic device 101 , all apps belonging to G1 801 have a basic score of 300 points, all apps belonging to G2 802 have a basic score of 200 points, and all apps belonging to G3 803 have a basic score of 300 points. A basic score of 100 points, all apps belonging to the G4 (804) can be assigned a basic score of 0 points.
  • the electronic device 101 may control all the apps of the corresponding group by allocating the same basic score to the apps belonging to each group, and then start controlling the apps of the next group.
  • FIG. 9 is an exemplary diagram of a method of scoring an app by giving weights to various factors by the electronic device 101 according to an embodiment of the present invention.
  • the electronic device 101 factors the LRU-based execution order 904 , the importance 905 of the bucket in the App Standby Bucket, and the process memory usage 906 . By giving weights 901, 902, and 903 to each of the factors, the app can be scored.
  • Controlled apps may vary depending on where the electronic device 101 gives more weight. For example, if the electronic device 101 gives a high weight 903 to the memory usage 906 , apps that use a lot of memory may be preferentially controlled. Alternatively, if the electronic device 101 gives a weight 901 to the LRU-based execution order 904 , apps that have been executed a long time ago may be preferentially controlled.
  • the electronic device 101 may determine the score of the final app by calculating the basic score of FIG. 8 and the app score of FIG. 9 .
  • 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
  • first, second, or first or second may simply be used to distinguish an element from other elements in question, and may refer elements to other aspects (e.g., importance or order) is not limited. It is said that one (eg, first) component is “coupled” or “connected” to another (eg, second) component, with or without the terms “functionally” or “communicatively”. When referenced, it means that one component can be connected to the other component directly (eg by wire), wirelessly, or through a third component.
  • 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
  • Various embodiments of the present document include one or more instructions stored in a storage medium (eg, internal memory 136 or external memory 138) readable by a machine (eg, electronic device 101).
  • a storage medium eg, internal memory 136 or external memory 138
  • the processor eg, the processor 120
  • the device eg, the electronic device 101
  • the one or more instructions may include code generated by a compiler or code executable by an interpreter.
  • the device-readable storage medium may be provided in the form of a non-transitory storage medium.
  • 'non-transitory' only means that the storage medium is a tangible device and does not contain a signal (eg, electromagnetic wave), and this term is used in cases where data is semi-permanently stored in the storage medium and It does not distinguish between temporary storage cases.
  • a signal eg, electromagnetic wave
  • the method according to various embodiments disclosed in this document may be provided in a computer program product (computer program product).
  • Computer program products may be traded between sellers and buyers as commodities.
  • the computer program product is distributed in the form of a device-readable storage medium (eg compact disc read only memory (CD-ROM)), or via an application store (eg Play StoreTM) or on two user devices ( It can be distributed (eg downloaded or uploaded) directly, online between smartphones (eg: smartphones).
  • a portion of the computer program product may be temporarily stored or temporarily generated in a machine-readable storage medium such as a memory of a server of a manufacturer, a server of an application store, or a memory of a relay server.
  • each component eg, a module or a program of the above-described components may include a singular or a plurality of entities, and some of the plurality of entities may be separately disposed in other components. have.
  • one or more components or operations among the above-described corresponding components may be omitted, or one or more other components or operations may be added.
  • a plurality of components eg, a module or a program
  • the integrated component may perform one or more functions of each component of the plurality of components identically or similarly to those performed by the corresponding component among the plurality of components prior to the integration. .
  • operations performed by a module, program, or other component are executed sequentially, in parallel, repeatedly, or heuristically, or one or more of the operations are executed in a different order, or omitted. , or one or more other operations may be added.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Telephone Function (AREA)

Abstract

Le présent document concerne un dispositif électronique comprenant : un circuit de communication ; une mémoire ; et au moins un processeur connecté fonctionnellement au circuit de communication et à la mémoire. La mémoire peut stocker des instructions activant, pendant l'exécution, le processeur pour : sur la base d'une entrée utilisateur de demande d'exécution d'une première application du dispositif électronique, générer des informations sur l'exécution de la première application ; sur la base des informations générées, prédire une seconde application dont l'exécution doit en outre être demandée par l'utilisateur ; sur la base des informations générées, prédire l'utilisation de mémoire de la seconde application ; vérifier la mémoire libre cible sur la base de la seconde application prédite et de l'utilisation de mémoire prédite de la seconde application ; noter la seconde application ; et commander la seconde application sur la base du résultat de notation. Divers autres modes de réalisation sont possibles, tels qu'identifiés dans la description.
PCT/KR2021/018483 2021-01-13 2021-12-07 Dispositif électronique et son procédé de fonctionnement Ceased WO2022154263A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020210004726A KR20220102405A (ko) 2021-01-13 2021-01-13 전자 장치 및 전자 장치의 동작 방법
KR10-2021-0004726 2021-01-13

Publications (1)

Publication Number Publication Date
WO2022154263A1 true WO2022154263A1 (fr) 2022-07-21

Family

ID=82447256

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2021/018483 Ceased WO2022154263A1 (fr) 2021-01-13 2021-12-07 Dispositif électronique et son procédé de fonctionnement

Country Status (2)

Country Link
KR (1) KR20220102405A (fr)
WO (1) WO2022154263A1 (fr)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20240038404A (ko) * 2022-09-16 2024-03-25 삼성전자주식회사 아이콘을 표시하는 전자 장치 및 이의 제어 방법

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120139541A (ko) * 2011-06-16 2012-12-27 삼성전자주식회사 디지털 장치에서 애플리케이션의 시동 시간을 감소하는 장치 및 방법
KR20150108695A (ko) * 2014-03-18 2015-09-30 삼성전자주식회사 디바이스의 메모리 관리 방법 및 장치
KR20160132439A (ko) * 2014-03-10 2016-11-18 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 디바이스 특유의 또는 사용자 특유의 자원 사용 프로파일에 기초한 자원 관리
KR20200080164A (ko) * 2018-12-26 2020-07-06 중앙대학교 산학협력단 애플리케이션 사용 패턴 분석에 기초한 메모리 관리 시스템 및 방법
KR20200114233A (ko) * 2019-03-28 2020-10-07 연세대학교 산학협력단 사용자 이용 패턴을 신경망 알고리즘으로 분석하여 다음 어플리케이션을 예측하는 모바일 디바이스 메모리 관리 장치 및 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120139541A (ko) * 2011-06-16 2012-12-27 삼성전자주식회사 디지털 장치에서 애플리케이션의 시동 시간을 감소하는 장치 및 방법
KR20160132439A (ko) * 2014-03-10 2016-11-18 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 디바이스 특유의 또는 사용자 특유의 자원 사용 프로파일에 기초한 자원 관리
KR20150108695A (ko) * 2014-03-18 2015-09-30 삼성전자주식회사 디바이스의 메모리 관리 방법 및 장치
KR20200080164A (ko) * 2018-12-26 2020-07-06 중앙대학교 산학협력단 애플리케이션 사용 패턴 분석에 기초한 메모리 관리 시스템 및 방법
KR20200114233A (ko) * 2019-03-28 2020-10-07 연세대학교 산학협력단 사용자 이용 패턴을 신경망 알고리즘으로 분석하여 다음 어플리케이션을 예측하는 모바일 디바이스 메모리 관리 장치 및 방법

Also Published As

Publication number Publication date
KR20220102405A (ko) 2022-07-20

Similar Documents

Publication Publication Date Title
WO2022055068A1 (fr) Dispositif électronique pour identifier une commande contenue dans de la voix et son procédé de fonctionnement
WO2022154286A1 (fr) Procédé pour fournir une interface utilisateur et dispositif électronique associé
WO2022177343A1 (fr) Dispositif électronique de configuration de géorepérage et son procédé de fonctionnement
WO2022103019A1 (fr) Dispositif électronique et procédé d'exécution d'application pour dispositif électronique
WO2023027377A1 (fr) Dispositif électronique et procédé pour fournir un service personnalisé sensible au contexte d'un utilisateur
WO2022154263A1 (fr) Dispositif électronique et son procédé de fonctionnement
WO2022085926A1 (fr) Système comprenant un dispositif électronique et serveur, et procédé de recommandation de contenu utilisant le système
WO2022154264A1 (fr) Dispositif électronique et procédé de fonctionnement d'un dispositif électronique
WO2022177162A1 (fr) Processeur pour initialiser un fichier modèle d'application, et dispositif électronique le comprenant
WO2023080447A1 (fr) Dispositif électronique de planification de transmission et de réception de données par l'intermédiaire d'une pluralité de liaisons, et procédé de fonctionnement du dispositif électronique
WO2022215859A1 (fr) Dispositif électronique pour mettre en oeuvre une fonction de capture et procédé pour faire fonctionner un dispositif électronique
WO2022203374A1 (fr) Procédé pour fournir un service d'assistant vocal, et dispositif électronique pour le prendre en charge
WO2023048379A1 (fr) Serveur et dispositif électronique pour traiter un énoncé d'utilisateur, et son procédé de fonctionnement
WO2022245116A1 (fr) Appareil électronique et procédé de fonctionnement d'appareil électronique
WO2022220448A1 (fr) Procédé de recommandation de contenu et dispositif électronique prenant en charge celui-ci
WO2022163894A1 (fr) Procédé et dispositif électronique pour accéder à un réseau au moyen d'un profil de module d'identité d'abonné (esim) intégré
WO2023158136A1 (fr) Procédé de commande de mémoire et dispositif électronique permettant de réaliser ce procédé
WO2024191052A1 (fr) Dispositif électronique pour fournir une interface utilisateur associée à une fonction d'économie d'énergie et son procédé de fonctionnement
WO2023033311A1 (fr) Dispositif électronique pour réaliser une fonction assortie avec une affordance graphique, et procédé de fonctionnement d'un dispositif électronique
WO2022191400A1 (fr) Processeur pour déterminer un niveau de réactivité et dispositif électronique le comprenant
WO2024158199A1 (fr) Dispositif électronique et procédé de détection de changement de performance dans un dispositif électronique
WO2024162683A1 (fr) Dispositif électronique et procédé d'affichage d'écran d'accueil l'utilisant
WO2022203184A1 (fr) Dispositif électronique pour fonction de partage et son procédé de fonctionnement
WO2024039046A1 (fr) Dispositif portable et procédé d'établissement d'une connexion d'appel avec un dispositif électronique externe
WO2025053405A1 (fr) Dispositif électronique de mise en œuvre de communication sur la base d'une pluralité de schémas de communication, et son procédé de fonctionnement

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: 21919887

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: 21919887

Country of ref document: EP

Kind code of ref document: A1