WO2020171622A1 - A method and system for managing operations of applications on an electronic device - Google Patents

A method and system for managing operations of applications on an electronic device Download PDF

Info

Publication number
WO2020171622A1
WO2020171622A1 PCT/KR2020/002466 KR2020002466W WO2020171622A1 WO 2020171622 A1 WO2020171622 A1 WO 2020171622A1 KR 2020002466 W KR2020002466 W KR 2020002466W WO 2020171622 A1 WO2020171622 A1 WO 2020171622A1
Authority
WO
WIPO (PCT)
Prior art keywords
electronic device
applications
parameters
user
operations
Prior art date
Application number
PCT/KR2020/002466
Other languages
French (fr)
Inventor
Priydarshi PRIYDARSHI
Ganji Manoj KUMAR
Renju Chirakarotu NAIR
Syama SUDHEESH
Vaisakh Punnekkattu CHIRAYIL S
Chunggeol Kim
Gyusung Cho
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 WO2020171622A1 publication Critical patent/WO2020171622A1/en

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/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72448User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information

Definitions

  • the present subject matter is related in general to electronic devices and system intelligence. More particularly, but not exclusively, the subject matter is related to a method and system for managing operations of one or more applications on an electronic device.
  • usage of electronic device is considered as one of important factor for users.
  • User usage of the electronic device is dynamic and is influenced by internal and external factors.
  • some of the factors which influence the usage of the electronic device includes temporal parameters, user context, device state, and external events.
  • various aspects are considered. Some of the exemplary aspects includes, within next "t" hours, which application are likely to launch, what application user is going to use immediately, which notification user will act immediately and in which sequence user will launch applications.
  • there exist no single model which cover all the scenarios/aspects mentioned above to predict the usage of the applications.
  • the present disclosure may relate to a method for managing operations of one or more applications on an electronic device.
  • the method includes monitoring at predefined instants, device parameters associated with the electronic device and user parameters associated with usage of a plurality of applications in the electronic device.
  • the method includes identifying application usage pattern based on the device parameters and the user parameters by using one or more predefined techniques.
  • the method includes clustering the one or more applications into one or more groups using a real-time learning model stored in the electronic device.
  • the learning model is trained dynamically based on the application usage pattern for clustering. Thereafter, the operations of the one or more applications on the electronic device are managed based on the one or more clustered groups.
  • the present disclosure may relate to an electronic device for managing operations of one or more applications on an electronic device.
  • the electronic device may include a processor and a memory communicatively coupled to the processor, where the memory stores processor executable instructions, which, on execution, may cause to monitoring at predefined instants, device parameters associated with the electronic device and user parameters associated with usage of a plurality of applications in the electronic device.
  • the electronic device identifies application usage pattern based on the device parameters and the user parameters by using one or more predefined techniques.
  • the one or more applications are clustered into one or more groups using a real-time learning model stored in the electronic device.
  • the learning model is trained dynamically based on the application usage pattern for clustering. Thereafter, the electronic device manages the operations of the one or more applications based on the one or more clustered groups.
  • Figure.1 illustrates an exemplary block diagram of an electronic device for managing operations of one or more applications on an electronic device in accordance with some embodiments of the present disclosure
  • FIG.2A illustrates a detailed block diagram of an electronic device in accordance with some embodiments of the present disclosure
  • Figure.2B illustrates an exemplary flowchart of training and update phase for managing operations of one or more applications in accordance with some embodiments of the present disclosure
  • Figure.2C illustrates an exemplary representation for clustering one or more applications in accordance with some embodiments of the present disclosure
  • FIG. 3A-3B illustrates exemplary representations of electronic device with clustered one or more applications in accordance with some embodiments of the present disclosure
  • Figure.4 illustrates an exemplary representation for managing operations of one or more applications in accordance with some embodiments of present disclosure
  • Figure.5 illustrates a flowchart showing a method for managing operations of one or more applications on an electronic device in accordance with some embodiments of present disclosure
  • Figure.6A-6B illustrates an exemplary graph depicting transition of application between different groups in accordance with some embodiments of the present disclosure.
  • Figure.7 illustrates a block diagram of an exemplary system for the implementation of embodiments consistent with the present disclosure.
  • Embodiments of the present disclosure relates to a method and an electronic device for managing operations of one or more applications.
  • the one or more applications may provide one or more services to user of the electronic device.
  • the electronic device comprises an on-device learning model.
  • the present disclosure may cluster the one or more applications of the electronic device into groups by using the learning model based on application usage pattern. Thereafter, operations of the one or more application are managed based on the clustered groups.
  • the present disclosure optimizes user experience while using the application and enhance battery life of the electronic device.
  • Figure.1 illustrates an exemplary block diagram of an electronic device for managing operations of one or more applications on an electronic device in accordance with some embodiments of the present disclosure.
  • Figure.1 illustrates an electronic device 100.
  • the electronic device 100 may include a plurality of applications (not shown explicitly in Figure.1).
  • the plurality of applications may provide one or more services to user of the electronic device 100.
  • the plurality of applications may be game related, media related and the like.
  • the electronic device 100 may be any computing device associated with users.
  • a laptop, a desktop computer, a Personal Digital Assistant (PDA), a notebook, a smartphone, a tablet and any other computing devices can be used as the electronic device 100.
  • PDA Personal Digital Assistant
  • a person skilled in the art would understand that the scope of the present disclosure may encompass any other electronic device 100, which involves usage of applications, not mentioned
  • the electronic device 100 may include any other units, not mentioned explicitly in the present disclosure.
  • the electronic device 100 includes an Input /Output (I/O) interface 103, a memory 105 for storing instructions and data, a processor 107 and a learning model 109.
  • the I/O interface 103 is coupled with other components of the electronic device 100 through which an input signal and/or an output signal is communicated.
  • the learning model 109 may be for example, a regression model. Alternatively, the learning model 109 may be any other machine learning model.
  • the learning model 109 may be trained on device in real-time. Alternatively, the learning model 109 may be trained offline.
  • the electronic device 100 may monitor device parameters associated with the electronic device 100 and user parameters associated with usage of the plurality of applications in the electronic device 100.
  • the predefined instants may be for instance, at a specific periodic time period or at a launch time of the one or more applications.
  • the device parameters may include for example, status condition of Central Processing Unit (CPU), Graphic Processing Unit (GPU), memory and time while using the plurality of applications in the electronic device 100 and the like.
  • the user parameters may include details on location, application launch, notification actions, device connection status such as, Bluetooth state, Wi-Fi state, touch operations and time of using each application and the like.
  • the electronic device 100 may identify application usage pattern based on the device parameters and the user parameters against by using one or more predefined techniques.
  • the one or more predefined techniques may be pre-processing techniques such as, comparing values of each device parameters and the user parameters against corresponding threshold values, normalization and the like.
  • the electronic device may train the learning model 109 dynamically based on the application usage pattern. For example, if an application is used by the user, the electronic device 100 train the learning model 109 with a target value as one. Similarly, the learning model 109 may be trained negatively using a value of zero for a period in which the application may not be used by the user.
  • the electronic device 100 clusters the one or more application into one or more groups by using the learning model 109, which is trained using the application usage pattern.
  • the one or more groups may be decided based on the usage for example, active, working set, frequent, rare and the like.
  • the electronic device 100 may provide details of the one or more groups identified at each instant to the user of the electronic device 100.
  • the electronic device 100 may receive a feedback from the user on the clustering which may be utilized in order to iteratively train the learning model 109.
  • the electronic device 100 may manage operations of the one or more applications based on the one or more clustered groups.
  • the operation of the one or more applications may be managed by modifying one or more operational parameters of the one or more applications.
  • the one or more operational parameters may include, but not limited to, a network access, a server push message access, a notification push and a job scheduler access and system policy restrictions for controlling performance and power parameters of the electronic device 100.
  • the electronic device 100 may update the identified one or more groups of the one or more applications upon detecting a change in the device parameters and the user parameters.
  • FIG.2A illustrates a detailed block diagram of an electronic device in accordance with some embodiments of the present disclosure.
  • the electronic device 100 may include the memory 105 which includes data 200 as described herein in detail.
  • the data 200 may include, for example, device data 201, user data 203, application data 205, learning model 109, cluster data 209 and other data 211.
  • the device data 201 may include values of the device parameters monitored by the electronic device 100.
  • the device parameters may include, status condition of Central Processing Unit (CPU), the Graphic Processing Unit (GPU), memory and time while using the plurality of applications in the electronic device 100 and the like.
  • the user data 203 may include values of the user parameters associated with usage of the plurality of applications on the electronic device 100.
  • the user parameters may include, the details on location, application launch, notification actions, device connection status such as, Bluetooth state, Wi-Fi state and the like, touch operations and time of using each application. Further, the user data 203 may include feedback received from the user based on the details of the one or more groups.
  • the application data 205 may include information about the plurality of application present in the electronic device 100. Further, the application data may include the application usage pattern identified for the plurality of applications in the electronic device 100.
  • the learning model 109 is the real-time model used for clustering the plurality of applications in the electronic device 100.
  • the learning model 109 may be trained dynamically based on the application usage pattern.
  • the cluster data 209 may include information on the one or more groups clustered based on the application usage pattern.
  • the information may include number of groups and number and type of applications in each group.
  • the other data 211 may store data, including temporary data and temporary files, generated for performing the various functions of the electronic device 100.
  • the data 200 in the memory 105 are processed by the one or more modules 213 present within the memory 105 of the electronic device 100.
  • the one or more modules 213 may be implemented as dedicated units.
  • the term module refers to an application specific integrated circuit (ASIC), an electronic circuit, a field-programmable gate arrays (FPGA), Programmable System-on-Chip (PSoC), a combinational logic circuit, and/or other suitable components that provide the described functionality.
  • the one or more modules 213 may be communicatively coupled to the processor 107 for performing one or more functions of the electronic device 100. The said modules 213 when configured with the functionality defined in the present disclosure will result in a novel hardware.
  • the one or more modules 213 may include, but are not limited to a monitoring module 215, an application usage identification module 217, a clustering module 219 and an operation management module 221.
  • the one or more modules 213 may also include other modules 223 to perform various miscellaneous functionalities of the electronic device 100.
  • the other modules 223 may include a training module, an update module and communication module.
  • the training module may train the learning model 109 dynamically on the electronic device 100 based on real-time application usage pattern. Further, the training module may train the learning model 109 based on the feedback received from the user.
  • Figure.2B illustrates an exemplary flowchart of training and update phase for managing operations of one or more applications in accordance with some embodiments of the present disclosure.
  • the update module may update the identified one or more groups of the one or more applications on the electronic device 100 upon detecting a change in the device parameters and the user parameters.
  • the communication module may provide/receive data from the user on the electronic device 100.
  • the monitoring module 215 may monitor the device parameters associated with the electronic device 100 such as, the status condition of Central Processing Unit (CPU), Graphic Processing Unit (GPU), memory and time while using the plurality of applications in the electronic device 100. Further, the monitoring module 215 may monitor the user parameters associated with usage of the plurality of applications in the electronic device 100. The user parameters may include details on the location, the application launch, the notification actions, device connection status, touch operations and time of using each application.
  • the application usage identification module 217 may identify the application usage pattern for the plurality of applications in the electronic device 100.
  • the application usage identification module 217 may identify the application usage pattern by using the one or more predefined techniques.
  • the one or more predefined techniques may include, for example, normalization, comparing the values of the device parameters and the user parameters against respective threshold values and the like. In an embodiment, the one or more predefined techniques may differ based on implementation.
  • the application usage identification module 217 provides the identified application usage pattern to the training module.
  • the clustering module 219 may clusters the plurality of applications into one or more groups by using the trained learning model 109.
  • Figure.2C illustrates an exemplary representation for clustering one or more applications in accordance with some embodiments of the present disclosure.
  • the learning model 109 may be trained based on one or more features of the applications.
  • the learning model 109 may be a regression based Multi Stochastic Gradient Descent Regression (MSGDR) model.
  • the learning model 109 cluster the plurality of applications based on temporal and application usage pattern.
  • the learning model 109 may use gradient based optimization.
  • the learning model 109 is trained based on below math figure (1) and (2).
  • Table 1 below shows an exemplary scenario of clustering the plurality of applications by the learning model 109 under different user scenarios.
  • the one or more groups may be for example, active applications, working set, frequently used application and the like.
  • Figure. 3A-3B illustrates exemplary representations of electronic device with clustered one or more applications in accordance with some embodiments of the present disclosure. As shown, Fig.3A-3B shows a mobile phone illustrating the one or more groups of applications.
  • the operation management module 221 may manage the operations of the one or more applications on the electronic device 100 based on the one or more clustered groups.
  • the operation management module 221 may manage the operations by modifying one or more operational parameters of the one or more applications. Particularly, by restricting the one or more operational parameters.
  • the operation management module 221 may be a usage Stats manager.
  • the one or more operational parameters may be for example, the one or more of a network access, the server push message access, the notification push and the job scheduler access and system policy restrictions for controlling performance and power parameters of the electronic device 100.
  • Figure.4 illustrates an exemplary representation for managing operations of one or more applications in accordance with some embodiments of present disclosure. As shown, Figure.4 shows different types of operational restrictions based on the group. An example of operational restrictions is shown by table 2.
  • Figure.5 illustrates a flowchart showing a method for managing operations of one or more applications on an electronic device in accordance with some embodiments of present disclosure.
  • the method 500 includes one or more blocks for managing operations of one or more applications on an electronic device.
  • the method 500 may be described in the general context of computer executable instructions.
  • Computer executable instructions can include routines, programs, objects, components, data structures, procedures, modules, and functions, which perform particular functions or implement particular abstract data types.
  • the monitoring module 215 monitors at the predefined instants the device parameters associated with the electronic device 100 and the user parameters associated with usage of the plurality of applications in the electronic device 100.
  • application usage pattern is identified by the application usage identification module 217 based on the device parameters and the user parameters by using the one or more predefined techniques.
  • the one or more applications are clustered into one or more groups by the clustering module 219 by using the learning model 109.
  • the learning model 109 is trained dynamically based on the application usage pattern for clustering.
  • Figure.6A-6B illustrates an exemplary graph depicting transition of application between different groups in accordance with some embodiments of the present disclosure.
  • FIG.7 illustrates a block diagram of an exemplary system for the implementation of embodiments consistent with the present disclosure.
  • the system 700 may include a central processing unit processor 702 (also known CPU 702).
  • the processor 702 may include at least one data processor for managing operations of one or more applications on an electronic device.
  • the processor 702 may include specialized processing units such as, integrated system (bus) controllers, memory management control units, floating point units, graphics processing units, digital signal processing units, etc.
  • the processor 702 may be used in communication with one or more I/O devices (not shown) via I/O interface 701.
  • the I/O interface 701 may employ communication protocols/methods such as, audio, analog, digital, monoaural, RCA, stereo, IEEE-1394, serial bus, universal serial bus (USB), infrared, PS/2, BNC, coaxial, component, composite, digital visual interface (DVI), high-definition multimedia interface (HDMI), RF antennas, S-Video, VGA, IEEE 802.n /b/g/n/x, Bluetooth, cellular (e.g., code-division multiple access (CDMA), high-speed packet access (HSPA+), global system for mobile communications (GSM), long-term evolution (LTE), WiMax, or the like),5G, Vehicular communication (V2X), device to device communication network, IOT network, or NB-IOT network; but are not limited as such.
  • CDMA code-division multiple access
  • HSPA+ high-speed packet access
  • the system 700 may communicate with one or more I/O devices.
  • the input device may be an antenna, keyboard, mouse, joystick, (infrared) remote control, camera, card reader, fax machine, dongle, biometric reader, microphone, touch screen, touchpad, trackball, stylus, scanner, storage device, transceiver, or video device/source; but are not limited as such.
  • the output device may be a printer, fax machine, video display (e.g., cathode ray tube (CRT), liquid crystal display (LCD), light-emitting diode (LED), plasma, Plasma display panel (PDP), Organic light-emitting diode display (OLED) or the like), or audio speaker, but are not limited as such.
  • CTR cathode ray tube
  • LCD liquid crystal display
  • LED light-emitting diode
  • PDP Plasma display panel
  • OLED Organic light-emitting diode display
  • the processor 702 may be used in communication with the communication network 709 via a network interface 703.
  • the network interface 703 may communicate with the communication network 709.
  • the network interface 703 may employ connection protocols including, without limitation, direct connect, Ethernet (e.g., twisted pair 10/100/1000 Base T), transmission control protocol/internet protocol (TCP/IP), token ring, IEEE 802.11a/b/g/n/x, etc.
  • the communication network 709 may include, without limitation, a direct interconnection, local area network (LAN), wide area network (WAN), wireless network (e.g., using Wireless Application Protocol), the Internet, etc.
  • the network interface 703 may employ connection protocols include, but not limited to, direct connect, Ethernet (e.g., twisted pair 10/100/1000 Base T), transmission control protocol/internet protocol (TCP/IP), token ring, IEEE 802.11a/b/g/n/x, etc.
  • connection protocols include, but not limited to, direct connect, Ethernet (e.g., twisted pair 10/100/1000 Base T), transmission control protocol/internet protocol (TCP/IP), token ring, IEEE 802.11a/b/g/n/x, etc.
  • the communication network 709 includes, but is not limited to, a direct interconnection, an e-commerce network, a peer to peer (P2P) network, local area network (LAN), wide area network (WAN), wireless network (e.g., using Wireless Application Protocol), the Internet, Wi-Fi, LTE network, 5G wireless network, vehicular communication network, IOT network, NB-IOT network, Device to Device communication (D2D) network and such.
  • the first network and the second network may either be a dedicated network or a shared network, which represents an association of the different types of networks that use a variety of protocols, for example, Hypertext Transfer Protocol (HTTP), Transmission Control Protocol/Internet Protocol (TCP/IP), Wireless Application Protocol (WAP), etc., to communicate with each other.
  • the first network and the second network may include a variety of network devices, including routers, bridges, servers, computing devices, storage devices, etc.
  • the processor 702 may be used in communication with a memory 705 (e.g., RAM, ROM, etc. not shown in figure 7) via a storage interface 704.
  • the storage interface 704 may connect to memory 705 by means of memory drives or removable disc drives but are not limited as such.
  • This connection between storage interface 704 and memory 705 employs protocols such as serial advanced technology attachment (SATA), Integrated Drive Electronics (IDE), IEEE-1394, Universal Serial Bus (USB), fiber channel, or Small Computer Systems Interface (SCSI), but are not limited as such.
  • the memory drives may include a drum, magnetic disc drive, magneto-optical drive, optical drive, Redundant Array of Independent Discs (RAID), solid-state memory devices, or solid-state drives, but are not limited as such.
  • the memory 705 may store a collection of program or database components including user interface 706 or an operating system 707 but are not limited as such.
  • user device 700 may store user data or application data, such as general data, variables or records, but are not limited as such., as described in this disclosure.
  • databases may be implemented as fault-tolerant, relational, scalable, secure databases such as Oracle or Sybase.
  • the operating system 707 may facilitate resource management and operation of the user device 700.
  • Some examples of operating systems include APPLE MACINTOSH R OS X, UNIX R , UNIX-like system distributions (E.G., BERKELEY SOFTWARE DISTRIBUTION TM (BSD), FREEBSD TM , NETBSD TM , OPENBSD TM , etc.), LINUX DISTRIBUTIONS TM (E.G., RED HAT TM , UBUNTU TM , KUBUNTU TM , etc.), IBM TM OS/2, MICROSOFT TM WINDOWS TM (XP TM , VISTA TM /7/8, 10 etc.), APPLE R IOS TM , GOOGLE R ANDROID TM , BLACKBERRY R OS, or the like, but are not limited as such.
  • the system 700 may implement a web browser 708 stored program component.
  • the web browser 708 may be a hypertext viewing application such as MICROSOFT ® INTERNET EXPLORER TM , GOOGLE ® CHROME TM , MOZILLA ® FIREFOX TM , or APPLE ® SAFARI TM , but are not limited as such.
  • Secure web browsing may be provided using Secure Hypertext Transport Protocol (HTTPS), Secure Sockets Layer (SSL), or Transport Layer Security (TLS), but are not limited as such.
  • HTTPS Secure Hypertext Transport Protocol
  • SSL Secure Sockets Layer
  • TLS Transport Layer Security
  • Web browsers 708 may utilize facilities such as AJAX TM , DHTML TM , ADOBE ® FLASH TM , JAVASCRIPT TM , JAVA TM , or Application Programming Interfaces (APIs), but are not limited as such.
  • the system 600 may implement a mail server stored program component.
  • the mail server may be an Internet mail server such as Microsoft Exchange, or the like.
  • the mail server may utilize facilities such as ASP TM , ACTIVEX TM , ANSI TM C++/C#, MICROSOFT ® , .NET TM , CGI SCRIPTS TM , JAVA TM , JAVASCRIPT TM , PERL TM , PHP TM , PYTHON TM , or WEBOBJECTS TM , but are not limited as such.
  • the mail server may utilize communication protocols such as Internet Message Access Protocol (IMAP), Messaging Application Programming Interface (MAPI), MICROSOFT ® exchange, Post Office Protocol (POP), Simple Mail Transfer Protocol (SMTP), or the like, but are not limited as such.
  • the user device700 may implement a mail client stored program component.
  • the mail client may be a mail viewing application, such as APPLE ® MAIL TM , MICROSOFT ® ENTOURAGE TM , MICROSOFT ® OUTLOOK TM , or MOZILLA ® THUNDERBIRD TM , but are not limited as such.
  • a computer-readable storage medium refers to any type of physical memory on which information or data readable by a processor may be stored.
  • a computer-readable storage medium may store instructions for execution by one or more processors, including instructions for causing the processor(s) to perform steps or stages consistent with the embodiments described herein.
  • the term "computer-readable medium” should be understood to include tangible items and exclude carrier waves and transient signals, i.e., be non-transitory. Examples include Random Access Memory (RAM), Read-Only Memory (ROM), volatile memory, non-volatile memory, hard drives, CD ROMs, DVDs, flash drives, disks, and any other known physical storage media presently or in the future.
  • An embodiment of present disclosure provides a real-time model which learns from user behavior and adapts to changes in user behavior quickly.
  • An embodiment of present disclosure requires zero server interaction since the learning model resides within the device. This provides privacy and security of user data.
  • An embodiment of present disclosure provides context identification without user sensitive information such as, location, WIFI SSID etc.
  • the described operations may be implemented as a method, system, or article of manufacture using standard programming and/or engineering techniques to produce software, firmware, hardware, or any combination thereof.
  • the described operations may be implemented as code maintained in a "non-transitory computer readable medium", where a processor may read and execute the code from the computer readable medium.
  • the processor contains at least one microprocessor and a processor capable of processing and executing the queries.
  • a non-transitory computer readable medium may include media such as magnetic storage medium, optical storage, or volatile and non-volatile memory devices, but are not limited as such.
  • a magnetic storage medium may utilize devices such as hard disk drives, floppy disks, tape, or the like, but are not limited as such.
  • An optical storage device may utilize devices such as CD-ROMs, DVDs, optical disks, or the like, but are not limited as such.
  • Volatile and non-volatile memory devices may utilize devices such as EEPROMs, ROMs, PROMs, RAMs, DRAMs, SRAMs, Flash Memory, firmware, programmable logic, or the like, but are not limited as such.
  • non-transitory computer-readable media include all computer-readable media except for a transitory.
  • the code implementing the described operations may further be implemented in hardware logic such as an integrated circuit chip, Programmable Gate Array (PGA), or Application Specific Integrated Circuit (ASIC), but are not limited as such.
  • the code implementing the described operations may be implemented in "transmission signals", where transmission signals may propagate through space or through a transmission media, such as, an optical fiber or copper wire, but are not limited as such.
  • the transmission signals in which the code or logic is encoded may further include a wireless signal, satellite transmission, radio waves, infrared signals, or Bluetooth, but are not limited as such.
  • the transmission signals in which the code or logic is encoded is capable of being transmitted by a transmitting station and received by a receiving station, where the code or logic encoded in the transmission signal may be decoded and stored in hardware or a non-transitory computer readable medium at the receiving and transmitting stations or devices.
  • An "article of manufacture” includes non-transitory computer readable medium, hardware logic, and/or transmission signals in which code may be implemented.
  • a device in which the code implementing the described embodiments of operations is encoded may include a computer readable medium or hardware logic.
  • an embodiment means “one or more (but not all) embodiments of the invention(s)" unless expressly specified otherwise.

Abstract

The present disclosure discloses system and method for managing operations of one or more applications on an electronic device. The method includes monitoring at predefined instants, device parameters associated with the electronic device and user parameters associated with usage of a plurality of applications in the electronic device. Application usage pattern is identified based on the device parameters and the user parameters by using predefined techniques. Further, the one or more applications are clustered into one or more groups using a real-time learning model stored in the electronic device. The learning model is trained dynamically based on the application usage pattern for clustering. Thereafter, the operations of the one or more applications are managed on the electronic device based on the one or more clustered groups.

Description

A METHOD AND SYSTEM FOR MANAGING OPERATIONS OF APPLICATIONS ON AN ELECTRONIC DEVICE
The present subject matter is related in general to electronic devices and system intelligence. More particularly, but not exclusively, the subject matter is related to a method and system for managing operations of one or more applications on an electronic device.
With increasing popularity of mobile computing platforms having access to hundreds or thousands of applications, including cell-phone devices, handheld devices, handheld computers, smartphones, and the like, there is a need for improving user experience by allowing easy discovery of most relevant applications without need to browse through thousands of applications.
Generally, usage of electronic device is considered as one of important factor for users. User usage of the electronic device is dynamic and is influenced by internal and external factors. For an example, some of the factors which influence the usage of the electronic device includes temporal parameters, user context, device state, and external events. Conventionally, in order to predict application usage, various aspects are considered. Some of the exemplary aspects includes, within next "t" hours, which application are likely to launch, what application user is going to use immediately, which notification user will act immediately and in which sequence user will launch applications. However, there exist no single model which cover all the scenarios/aspects mentioned above to predict the usage of the applications.
The information disclosed in this background of the disclosure section is only for enhancement of understanding of the general background of the invention and should not be taken as an acknowledgement or any form of suggestion that this information forms the prior art already known to a person skilled in the art.
Therefore, there exists ample opportunity for improvement in technologies to facilitate discovery of applications for mobile devices using context information based on the current environment of a mobile device.
In an embodiment, the present disclosure may relate to a method for managing operations of one or more applications on an electronic device. The method includes monitoring at predefined instants, device parameters associated with the electronic device and user parameters associated with usage of a plurality of applications in the electronic device. The method includes identifying application usage pattern based on the device parameters and the user parameters by using one or more predefined techniques. Further, the method includes clustering the one or more applications into one or more groups using a real-time learning model stored in the electronic device. The learning model is trained dynamically based on the application usage pattern for clustering. Thereafter, the operations of the one or more applications on the electronic device are managed based on the one or more clustered groups.
In an embodiment, the present disclosure may relate to an electronic device for managing operations of one or more applications on an electronic device. The electronic device may include a processor and a memory communicatively coupled to the processor, where the memory stores processor executable instructions, which, on execution, may cause to monitoring at predefined instants, device parameters associated with the electronic device and user parameters associated with usage of a plurality of applications in the electronic device. The electronic device identifies application usage pattern based on the device parameters and the user parameters by using one or more predefined techniques. The one or more applications are clustered into one or more groups using a real-time learning model stored in the electronic device. The learning model is trained dynamically based on the application usage pattern for clustering. Thereafter, the electronic device manages the operations of the one or more applications based on the one or more clustered groups.
The foregoing summary is illustrative only and is not intended to be in any way limiting. In addition to the illustrative aspects, embodiments, and features described above, further aspects, embodiments, and features will become apparent by reference to the drawings and the following detailed description.
The accompanying drawings, which are incorporated in and constitute a part of this disclosure, illustrate exemplary embodiments and, together with the description, serve to explain the disclosed principles. In the figures, the left-most digit(s) of a reference number identifies the figure in which the reference number first appears. The same numbers are used throughout the figures to reference like features and components. Some embodiments of system and/or methods in accordance with embodiments of the present subject matter are now described, by way of example only, and with reference to the accompanying figures, in which:
Figure.1 illustrates an exemplary block diagram of an electronic device for managing operations of one or more applications on an electronic device in accordance with some embodiments of the present disclosure;
Figure.2A illustrates a detailed block diagram of an electronic device in accordance with some embodiments of the present disclosure;
Figure.2B illustrates an exemplary flowchart of training and update phase for managing operations of one or more applications in accordance with some embodiments of the present disclosure;
Figure.2C illustrates an exemplary representation for clustering one or more applications in accordance with some embodiments of the present disclosure;
Figure. 3A-3B illustrates exemplary representations of electronic device with clustered one or more applications in accordance with some embodiments of the present disclosure;
Figure.4 illustrates an exemplary representation for managing operations of one or more applications in accordance with some embodiments of present disclosure;
Figure.5 illustrates a flowchart showing a method for managing operations of one or more applications on an electronic device in accordance with some embodiments of present disclosure;
Figure.6A-6B illustrates an exemplary graph depicting transition of application between different groups in accordance with some embodiments of the present disclosure; and
Figure.7 illustrates a block diagram of an exemplary system for the implementation of embodiments consistent with the present disclosure.
It should be appreciated by those skilled in the art, that any block diagrams herein represent conceptual views of illustrative systems embodying the principles of the present subject matter. Similarly, it will be appreciated that any flow charts, flow diagrams, state transition diagrams, pseudo code, and the like represent various exaggerated processes which may be more effectively represented in computer readable medium and executed by a computer or processor, whether or not a computer or processor is explicitly shown.
In the present document, the word "exemplary" is used herein to mean "serving as an example, instance, or illustration." Any embodiment or implementation of the present subject matter described herein as "exemplary" is not necessarily to be construed as preferred or advantageous over other embodiments.
While the disclosure is susceptible to various modifications and alternative forms, specific embodiments thereof have been shown by way examples in the drawings and will be described in detail below. It should be understood that drawings and detailed descriptions are not intended to limit the disclosure to the particular forms disclosed, but on the contrary, the disclosure is to cover all modifications, equivalents, and alternatives falling within the scope of the disclosure.
The terms "comprises", "comprising", or any other variations thereof, are intended to cover non-exclusive inclusions, such that a setup, device, or method that comprises a list of components or steps does not include only those components or steps but may include other components or steps not expressly listed or inherent to such setup or device or method. In other words, one or more elements in a system or apparatus proceeded by "comprises... a" does not, without more constraints, preclude the existence of other elements or additional elements in the system or method.
In the following detailed description of the embodiments of the disclosure, reference is made to the accompanying drawings that form a part hereof, and in which are shown by way of illustration specific embodiments in which the disclosure may be practiced. These embodiments are described in sufficient detail, which should enable those skilled in the art to practice the disclosure, and it is to be understood that other embodiments may be utilized and that changes may be made without departing from the scope of the present disclosure. The following description is, therefore, not to be taken in any limiting sense.
Embodiments of the present disclosure relates to a method and an electronic device for managing operations of one or more applications. In an embodiment, the one or more applications may provide one or more services to user of the electronic device. The electronic device comprises an on-device learning model. The present disclosure may cluster the one or more applications of the electronic device into groups by using the learning model based on application usage pattern. Thereafter, operations of the one or more application are managed based on the clustered groups. Thus, the present disclosure optimizes user experience while using the application and enhance battery life of the electronic device.
Figure.1 illustrates an exemplary block diagram of an electronic device for managing operations of one or more applications on an electronic device in accordance with some embodiments of the present disclosure.
Specifically, Figure.1 illustrates an electronic device 100. The electronic device 100 may include a plurality of applications (not shown explicitly in Figure.1). In an embodiment, the plurality of applications may provide one or more services to user of the electronic device 100. For example, the plurality of applications may be game related, media related and the like. In an embodiment, the electronic device 100 may be any computing device associated with users. For example, a laptop, a desktop computer, a Personal Digital Assistant (PDA), a notebook, a smartphone, a tablet and any other computing devices can be used as the electronic device 100. A person skilled in the art would understand that the scope of the present disclosure may encompass any other electronic device 100, which involves usage of applications, not mentioned
herein explicitly. A person skilled in the art would understand that Figure.1 is an exemplary embodiment and the electronic device 100 may include any other units, not mentioned explicitly in the present disclosure. Further, the electronic device 100 includes an Input /Output (I/O) interface 103, a memory 105 for storing instructions and data, a processor 107 and a learning model 109. The I/O interface 103 is coupled with other components of the electronic device 100 through which an input signal and/or an output signal is communicated. The learning model 109 may be for example, a regression model. Alternatively, the learning model 109 may be any other machine learning model. The learning model 109 may be trained on device in real-time. Alternatively, the learning model 109 may be trained offline.
At predefined instants , while a user the electronic device 100 is using one or more applications in the electronic device 100, the electronic device 100 may monitor device parameters associated with the electronic device 100 and user parameters associated with usage of the plurality of applications in the electronic device 100. The predefined instants may be for instance, at a specific periodic time period or at a launch time of the one or more applications. The device parameters may include for example, status condition of Central Processing Unit (CPU), Graphic Processing Unit (GPU), memory and time while using the plurality of applications in the electronic device 100 and the like. The user parameters may include details on location, application launch, notification actions, device connection status such as, Bluetooth state, Wi-Fi state, touch operations and time of using each application and the like. Based on the monitoring, the electronic device 100 may identify application usage pattern based on the device parameters and the user parameters against by using one or more predefined techniques. In an embodiment, the one or more predefined techniques may be pre-processing techniques such as, comparing values of each device parameters and the user parameters against corresponding threshold values, normalization and the like. Further, the electronic device may train the learning model 109 dynamically based on the application usage pattern. For example, if an application is used by the user, the electronic device 100 train the learning model 109 with a target value as one. Similarly, the learning model 109 may be trained negatively using a value of zero for a period in which the application may not be used by the user. Thus, the electronic device 100 clusters the one or more application into one or more groups by using the learning model 109, which is trained using the application usage pattern. The one or more groups may be decided based on the usage for example, active, working set, frequent, rare and the like. In an embodiment, the electronic device 100 may provide details of the one or more groups identified at each instant to the user of the electronic device 100. In response to providing the details, the electronic device 100 may receive a feedback from the user on the clustering which may be utilized in order to iteratively train the learning model 109.
Thereafter, the electronic device 100 may manage operations of the one or more applications based on the one or more clustered groups. The operation of the one or more applications may be managed by modifying one or more operational parameters of the one or more applications. The one or more operational parameters may include, but not limited to, a network access, a server push message access, a notification push and a job scheduler access and system policy restrictions for controlling performance and power parameters of the electronic device 100. In an embodiment, the electronic device 100 may update the identified one or more groups of the one or more applications upon detecting a change in the device parameters and the user parameters.
Figure.2A illustrates a detailed block diagram of an electronic device in accordance with some embodiments of the present disclosure.
The electronic device 100 may include the memory 105 which includes data 200 as described herein in detail. The data 200 may include, for example, device data 201, user data 203, application data 205, learning model 109, cluster data 209 and other data 211.
The device data 201 may include values of the device parameters monitored by the electronic device 100. The device parameters may include, status condition of Central Processing Unit (CPU), the Graphic Processing Unit (GPU), memory and time while using the plurality of applications in the electronic device 100 and the like.
The user data 203 may include values of the user parameters associated with usage of the plurality of applications on the electronic device 100. The user parameters may include, the details on location, application launch, notification actions, device connection status such as, Bluetooth state, Wi-Fi state and the like, touch operations and time of using each application. Further, the user data 203 may include feedback received from the user based on the details of the one or more groups.
The application data 205 may include information about the plurality of application present in the electronic device 100. Further, the application data may include the application usage pattern identified for the plurality of applications in the electronic device 100.
The learning model 109 is the real-time model used for clustering the plurality of applications in the electronic device 100. The learning model 109 may be trained dynamically based on the application usage pattern.
The cluster data 209 may include information on the one or more groups clustered based on the application usage pattern. The information may include number of groups and number and type of applications in each group.
The other data 211 may store data, including temporary data and temporary files, generated for performing the various functions of the electronic device 100.
In an embodiment, the data 200 in the memory 105 are processed by the one or more modules 213 present within the memory 105 of the electronic device 100. In an embodiment, the one or more modules 213 may be implemented as dedicated units. As used herein, the term module refers to an application specific integrated circuit (ASIC), an electronic circuit, a field-programmable gate arrays (FPGA), Programmable System-on-Chip (PSoC), a combinational logic circuit, and/or other suitable components that provide the described functionality. In some implementations, the one or more modules 213 may be communicatively coupled to the processor 107 for performing one or more functions of the electronic device 100. The said modules 213 when configured with the functionality defined in the present disclosure will result in a novel hardware.
In one implementation, the one or more modules 213 may include, but are not limited to a monitoring module 215, an application usage identification module 217, a clustering module 219 and an operation management module 221. The one or more modules 213 may also include other modules 223 to perform various miscellaneous functionalities of the electronic device 100. In an embodiment, the other modules 223 may include a training module, an update module and communication module. The training module may train the learning model 109 dynamically on the electronic device 100 based on real-time application usage pattern. Further, the training module may train the learning model 109 based on the feedback received from the user. Figure.2B illustrates an exemplary flowchart of training and update phase for managing operations of one or more applications in accordance with some embodiments of the present disclosure. The update module may update the identified one or more groups of the one or more applications on the electronic device 100 upon detecting a change in the device parameters and the user parameters. The communication module may provide/receive data from the user on the electronic device 100.
The monitoring module 215 may monitor the device parameters associated with the electronic device 100 such as, the status condition of Central Processing Unit (CPU), Graphic Processing Unit (GPU), memory and time while using the plurality of applications in the electronic device 100. Further, the monitoring module 215 may monitor the user parameters associated with usage of the plurality of applications in the electronic device 100. The user parameters may include details on the location, the application launch, the notification actions, device connection status, touch operations and time of using each application.
The application usage identification module 217 may identify the application usage pattern for the plurality of applications in the electronic device 100. The application usage identification module 217 may identify the application usage pattern by using the one or more predefined techniques. The one or more predefined techniques may include, for example, normalization, comparing the values of the device parameters and the user parameters against respective threshold values and the like. In an embodiment, the one or more predefined techniques may differ based on implementation. The application usage identification module 217 provides the identified application usage pattern to the training module.
The clustering module 219 may clusters the plurality of applications into one or more groups by using the trained learning model 109.
Figure.2C illustrates an exemplary representation for clustering one or more applications in accordance with some embodiments of the present disclosure. As shown in Figure.2c, the learning model 109 may be trained based on one or more features of the applications. In an embodiment, the learning model 109 may be a regression based Multi Stochastic Gradient Descent Regression (MSGDR) model. In an embodiment, the learning model 109 cluster the plurality of applications based on temporal and application usage pattern. In an embodiment, the learning model 109 may use gradient based optimization. The learning model 109 is trained based on below math figure (1) and (2).
Figure PCTKR2020002466-appb-M000001
Where X is the weight and bias of the learning model and γ Is the learning rate.
Figure PCTKR2020002466-appb-M000002
where, Drop=0.1
Epochs Decay=10
Further, Table 1 below shows an exemplary scenario of clustering the plurality of applications by the learning model 109 under different user scenarios. In an embodiment, the one or more groups may be for example, active applications, working set, frequently used application and the like. Figure. 3A-3B illustrates exemplary representations of electronic device with clustered one or more applications in accordance with some embodiments of the present disclosure. As shown, Fig.3A-3B shows a mobile phone illustrating the one or more groups of applications.
e sBehavioural trend Pre-group hit No of applications in active group Battery impact
sr Regular User with very specific no of applications used in daily basis.-Less Pattern changes High Hit rate from active group, with less no of application, =.>85% From Active +Working Set Lesser no of application in active group~5-10%Applications on average High power saving
sr User with regular usage with diverse set of application.User has slight variation in the usage pattern as well High to moderate Hit Rate from active group.80% accuracy from Active +Working Set ·Moderate no of application Active group·~10-15% Applications on average Moderate power saving
sr User with large set of application used on daily basis.Large variation on usage pattern (extremely erratic user).Possible case of multi user using the device Slightly low hit rate from active group.>70% from Active +Working Set Either Large(>15%) no of application in active groupOr ~10-15% Applications on average with slightly less hit rate Low power saving
The operation management module 221 may manage the operations of the one or more applications on the electronic device 100 based on the one or more clustered groups. The operation management module 221 may manage the operations by modifying one or more operational parameters of the one or more applications. Particularly, by restricting the one or more operational parameters. In an embodiment, considering in mobile device framework, the operation management module 221 may be a usage Stats manager. The one or more operational parameters may be for example, the one or more of a network access, the server push message access, the notification push and the job scheduler access and system policy restrictions for controlling performance and power parameters of the electronic device 100. Figure.4 illustrates an exemplary representation for managing operations of one or more applications in accordance with some embodiments of present disclosure. As shown, Figure.4 shows different types of operational restrictions based on the group. An example of operational restrictions is shown by table 2.
GROUPS LEARING MODEL PREDICTION JOBS IN BACKGROUND ALARM TO WAKE UP NETWORK USAGE FCM HIT PRIORITY
Active Next 0-3h No restriction No restriction No restriction No restriction
Working set Next 3-6h Every 2 hours Every 6 minutes No restriction No restriction
Frequent Next 6-24h Every 4 hours Every 30 minutes No restriction 10/day
Rare >24h Every 24 hours Every 2 hours Every 24 hours 5/day
Figure.5 illustrates a flowchart showing a method for managing operations of one or more applications on an electronic device in accordance with some embodiments of present disclosure.
The method 500 includes one or more blocks for managing operations of one or more applications on an electronic device. The method 500 may be described in the general context of computer executable instructions. Computer executable instructions can include routines, programs, objects, components, data structures, procedures, modules, and functions, which perform particular functions or implement particular abstract data types.
The order in which the method 500 is described is not intended to be construed as a limitation, and any number of the described method blocks can be combined in any order to implement the method described in Figure 5. Additionally, individual blocks may be deleted from the method without departing from the scope of the subject matter described herein. Furthermore, the method can be implemented in any suitable hardware, software, firmware, or combination thereof.
At block 501, the monitoring module 215 monitors at the predefined instants the device parameters associated with the electronic device 100 and the user parameters associated with usage of the plurality of applications in the electronic device 100.
At block 503, application usage pattern is identified by the application usage identification module 217 based on the device parameters and the user parameters by using the one or more predefined techniques..
At block 505, the one or more applications are clustered into one or more groups by the clustering module 219 by using the learning model 109. The learning model 109 is trained dynamically based on the application usage pattern for clustering.
At block 507, the operations of the one or more applications are managed by the operation management module 221 on the electronic device 100 based on the one or more clustered groups. Figure.6A-6B illustrates an exemplary graph depicting transition of application between different groups in accordance with some embodiments of the present disclosure.
Figure.7 illustrates a block diagram of an exemplary system for the implementation of embodiments consistent with the present disclosure. The system 700 may include a central processing unit processor 702 (also known CPU 702). The processor 702 may include at least one data processor for managing operations of one or more applications on an electronic device. The processor 702 may include specialized processing units such as, integrated system (bus) controllers, memory management control units, floating point units, graphics processing units, digital signal processing units, etc.
The processor 702 may be used in communication with one or more I/O devices (not shown) via I/O interface 701. The I/O interface 701 may employ communication protocols/methods such as, audio, analog, digital, monoaural, RCA, stereo, IEEE-1394, serial bus, universal serial bus (USB), infrared, PS/2, BNC, coaxial, component, composite, digital visual interface (DVI), high-definition multimedia interface (HDMI), RF antennas, S-Video, VGA, IEEE 802.n /b/g/n/x, Bluetooth, cellular (e.g., code-division multiple access (CDMA), high-speed packet access (HSPA+), global system for mobile communications (GSM), long-term evolution (LTE), WiMax, or the like),5G, Vehicular communication (V2X), device to device communication network, IOT network, or NB-IOT network; but are not limited as such.
Using the I/O interface 701, the system 700 may communicate with one or more I/O devices. The input device may be an antenna, keyboard, mouse, joystick, (infrared) remote control, camera, card reader, fax machine, dongle, biometric reader, microphone, touch screen, touchpad, trackball, stylus, scanner, storage device, transceiver, or video device/source; but are not limited as such. The output device may be a printer, fax machine, video display (e.g., cathode ray tube (CRT), liquid crystal display (LCD), light-emitting diode (LED), plasma, Plasma display panel (PDP), Organic light-emitting diode display (OLED) or the like), or audio speaker, but are not limited as such.
The processor 702 may be used in communication with the communication network 709 via a network interface 703. The network interface 703 may communicate with the communication network 709. The network interface 703 may employ connection protocols including, without limitation, direct connect, Ethernet (e.g., twisted pair 10/100/1000 Base T), transmission control protocol/internet protocol (TCP/IP), token ring, IEEE 802.11a/b/g/n/x, etc. The communication network 709 may include, without limitation, a direct interconnection, local area network (LAN), wide area network (WAN), wireless network (e.g., using Wireless Application Protocol), the Internet, etc.
The network interface 703 may employ connection protocols include, but not limited to, direct connect, Ethernet (e.g., twisted pair 10/100/1000 Base T), transmission control protocol/internet protocol (TCP/IP), token ring, IEEE 802.11a/b/g/n/x, etc.
The communication network 709 includes, but is not limited to, a direct interconnection, an e-commerce network, a peer to peer (P2P) network, local area network (LAN), wide area network (WAN), wireless network (e.g., using Wireless Application Protocol), the Internet, Wi-Fi, LTE network, 5G wireless network, vehicular communication network, IOT network, NB-IOT network, Device to Device communication (D2D) network and such. The first network and the second network may either be a dedicated network or a shared network, which represents an association of the different types of networks that use a variety of protocols, for example, Hypertext Transfer Protocol (HTTP), Transmission Control Protocol/Internet Protocol (TCP/IP), Wireless Application Protocol (WAP), etc., to communicate with each other. Furthermore, the first network and the second network may include a variety of network devices, including routers, bridges, servers, computing devices, storage devices, etc.
In some embodiments, the processor 702 may be used in communication with a memory 705 (e.g., RAM, ROM, etc. not shown in figure 7) via a storage interface 704. The storage interface 704 may connect to memory 705 by means of memory drives or removable disc drives but are not limited as such. This connection between storage interface 704 and memory 705 employs protocols such as serial advanced technology attachment (SATA), Integrated Drive Electronics (IDE), IEEE-1394, Universal Serial Bus (USB), fiber channel, or Small Computer Systems Interface (SCSI), but are not limited as such. The memory drives may include a drum, magnetic disc drive, magneto-optical drive, optical drive, Redundant Array of Independent Discs (RAID), solid-state memory devices, or solid-state drives, but are not limited as such.
The memory 705 may store a collection of program or database components including user interface 706 or an operating system 707 but are not limited as such. In some embodiments, user device 700 may store user data or application data, such as general data, variables or records, but are not limited as such., as described in this disclosure. Such databases may be implemented as fault-tolerant, relational, scalable, secure databases such as Oracle or Sybase.
The operating system 707 may facilitate resource management and operation of the user device 700. Some examples of operating systems include APPLE MACINTOSHR OS X, UNIXR, UNIX-like system distributions (E.G., BERKELEY SOFTWARE DISTRIBUTIONTM (BSD), FREEBSDTM, NETBSDTM, OPENBSDTM, etc.), LINUX DISTRIBUTIONSTM (E.G., RED HATTM, UBUNTUTM, KUBUNTUTM, etc.), IBMTM OS/2, MICROSOFTTM WINDOWSTM (XPTM, VISTATM/7/8, 10 etc.), APPLER IOSTM, GOOGLER ANDROIDTM, BLACKBERRYR OS, or the like, but are not limited as such.
In some embodiments, the system 700 may implement a web browser 708 stored program component. The web browser 708 may be a hypertext viewing application such as MICROSOFT® INTERNET EXPLORERTM, GOOGLE® CHROMETM, MOZILLA® FIREFOXTM, or APPLE® SAFARITM, but are not limited as such. Secure web browsing may be provided using Secure Hypertext Transport Protocol (HTTPS), Secure Sockets Layer (SSL), or Transport Layer Security (TLS), but are not limited as such. Web browsers 708 may utilize facilities such as AJAXTM, DHTMLTM, ADOBE® FLASHTM, JAVASCRIPTTM, JAVATM, or Application Programming Interfaces (APIs), but are not limited as such. In some embodiments, the system 600 may implement a mail server stored program component. The mail server may be an Internet mail server such as Microsoft Exchange, or the like. The mail server may utilize facilities such as ASPTM, ACTIVEXTM, ANSITM C++/C#, MICROSOFT®, .NETTM, CGI SCRIPTSTM, JAVATM, JAVASCRIPTTM, PERLTM, PHPTM, PYTHONTM, or WEBOBJECTSTM, but are not limited as such. The mail server may utilize communication protocols such as Internet Message Access Protocol (IMAP), Messaging Application Programming Interface (MAPI), MICROSOFT® exchange, Post Office Protocol (POP), Simple Mail Transfer Protocol (SMTP), or the like, but are not limited as such. In some embodiments, the user device700 may implement a mail client stored program component. The mail client may be a mail viewing application, such as APPLE® MAILTM, MICROSOFT® ENTOURAGETM, MICROSOFT® OUTLOOKTM, or MOZILLA® THUNDERBIRDTM, but are not limited as such.
Furthermore, one or more computer-readable storage media may be utilized in implementing embodiments consistent with the present disclosure. A computer-readable storage medium refers to any type of physical memory on which information or data readable by a processor may be stored. Thus, a computer-readable storage medium may store instructions for execution by one or more processors, including instructions for causing the processor(s) to perform steps or stages consistent with the embodiments described herein. The term "computer-readable medium" should be understood to include tangible items and exclude carrier waves and transient signals, i.e., be non-transitory. Examples include Random Access Memory (RAM), Read-Only Memory (ROM), volatile memory, non-volatile memory, hard drives, CD ROMs, DVDs, flash drives, disks, and any other known physical storage media presently or in the future.
An embodiment of present disclosure provides a real-time model which learns from user behavior and adapts to changes in user behavior quickly.
An embodiment of present disclosure requires zero server interaction since the learning model resides within the device. This provides privacy and security of user data.
An embodiment of present disclosure provides context identification without user sensitive information such as, location, WIFI SSID etc.
The described operations may be implemented as a method, system, or article of manufacture using standard programming and/or engineering techniques to produce software, firmware, hardware, or any combination thereof. The described operations may be implemented as code maintained in a "non-transitory computer readable medium", where a processor may read and execute the code from the computer readable medium. The processor contains at least one microprocessor and a processor capable of processing and executing the queries. A non-transitory computer readable medium may include media such as magnetic storage medium, optical storage, or volatile and non-volatile memory devices, but are not limited as such.
A magnetic storage medium may utilize devices such as hard disk drives, floppy disks, tape, or the like, but are not limited as such. An optical storage device may utilize devices such as CD-ROMs, DVDs, optical disks, or the like, but are not limited as such. Volatile and non-volatile memory devices may utilize devices such as EEPROMs, ROMs, PROMs, RAMs, DRAMs, SRAMs, Flash Memory, firmware, programmable logic, or the like, but are not limited as such.
Furthermore, non-transitory computer-readable media include all computer-readable media except for a transitory. The code implementing the described operations may further be implemented in hardware logic such as an integrated circuit chip, Programmable Gate Array (PGA), or Application Specific Integrated Circuit (ASIC), but are not limited as such.
Still further, the code implementing the described operations may be implemented in "transmission signals", where transmission signals may propagate through space or through a transmission media, such as, an optical fiber or copper wire, but are not limited as such. The transmission signals in which the code or logic is encoded may further include a wireless signal, satellite transmission, radio waves, infrared signals, or Bluetooth, but are not limited as such. The transmission signals in which the code or logic is encoded is capable of being transmitted by a transmitting station and received by a receiving station, where the code or logic encoded in the transmission signal may be decoded and stored in hardware or a non-transitory computer readable medium at the receiving and transmitting stations or devices. An "article of manufacture" includes non-transitory computer readable medium, hardware logic, and/or transmission signals in which code may be implemented. A device in which the code implementing the described embodiments of operations is encoded may include a computer readable medium or hardware logic. Of course, those skilled in the art will recognize that many modifications may be made to this configuration without departing from the scope of the invention, and that the article of manufacture may include suitable information bearing medium known in the art.
The terms "an embodiment", "embodiment", "embodiments", "the embodiment", "the embodiments", "one or more embodiments", "some embodiments", and "one embodiment" mean "one or more (but not all) embodiments of the invention(s)" unless expressly specified otherwise.
The terms "including", "comprising", "having" and variations thereof mean "including but not limited to" unless expressly specified otherwise. The enumerated listing of items does not imply that any or all of the items are mutually exclusive, unless expressly specified otherwise. The terms "a", "an" and "the" mean "one or more" unless expressly specified otherwise.
A description of an embodiment with several components in communication with each other does not imply that all such components are required or are necessary. On the contrary, a variety of optional components are described to illustrate the wide variety of possible embodiments of the invention.
When a single device or article is described herein, it will be readily apparent that more than one device/article (whether or not they cooperate) may be used in place of a single device/article. Similarly, where more than one device or article is described herein (whether or not they cooperate), it will be readily apparent that a single device/article may be used in place of the more than one device or article or a different number of devices/articles may be used instead of the shown number of devices or programs. The functionality and/or the features of a device may be alternatively embodied by one or more other devices which are not explicitly described as having such functionality/features. Thus, other embodiments of the invention need not include the device itself. 
The illustrated operations of Figure 7 show certain events occurring in a certain order. In alternative embodiments, certain operations may be performed in a different order, modified or removed. Moreover, steps may be added to the above described logic and still conform to the described embodiments. Furthermore, operations described herein may occur sequentially or certain operations may be processed in parallel. Yet furthermore, operations may be performed by a single processing unit or by distributed processing units. 
Finally, the language used in the specification has been principally selected for readability and instructional purposes, and the language may or may not have been selected to delineate or circumscribe the inventive subject matter. The language is therefore intended to show that the scope of the invention is not to be limited by this detailed description, but rather by any claims issued on an application based here on. Accordingly, the disclosure of the embodiments of the invention are intended to be illustrative, but not limiting, of the scope of the invention, which is set forth in the following claims.
While various aspects and embodiments have been disclosed herein, other aspects and embodiments will be apparent to those skilled in the art. The various aspects and embodiments disclosed herein are for purposes of illustration and are not intended to be limiting, with the true scope and spirit being indicated by the following claims.

Claims (14)

  1. A method of managing operations of one or more applications on an electronic device, the method comprising:
    monitoring, by an electronic device, at predefined instants, device parameters associated with the electronic device and user parameters associated with usage of a plurality of applications in the electronic device;
    identifying, by the electronic device, application usage pattern based on the device parameters and the user parameters using one or more predefined techniques;
    clustering, by the electronic device, the one or more applications into one or more groups using a real-time learning model stored in the electronic device, wherein the learning model is trained dynamically based on the application usage pattern for clustering; and
    managing, by the electronic device, operations of the one or more applications on the electronic device based on the one or more clustered groups.
  2. The method as claimed in claim 1, wherein the device parameters associated with the electronic device comprises status condition of Central Processing Unit (CPU), Graphic Processing Unit (GPU), memory and time while using the plurality of applications in the electronic device.
  3. The method as claimed in claim 1, wherein the user parameters comprises details on location, application launch, notification actions, device connection status (Bluetooth state, Wi-Fi state etc. are also part of user parameters), touch operations and time of using each application.
  4. The method as claimed in claim 1, wherein managing the operations of the one or more applications on the electronic device comprises modifying one or more operational parameters of the one or more applications.
  5. The method as claimed in claim 4, wherein the one or more operational parameters comprises one or more of a network access, a server push message access, a notification push and a job scheduler access and system policy restrictions for controlling performance and power parameters of the electronic device.
  6. The method as claimed in claim 1 further comprising updating the identified one or more groups of the one or more applications on the electronic device upon detecting a change in the device parameters and the user parameters.
  7. The method as claimed in claim 1 further comprising:
    providing details of the one or more groups identified at each instant to a user; and
    in response to providing the details, receiving a feedback from the user on the clustering in order to iteratively train the learning model.
  8. An electronic device for managing operations of one or more applications on an electronic device, comprising:
    a processor; and
    a memory communicatively coupled to the processor, wherein the memory stores processor instructions, which, on execution, causes the processor to:
    monitor at predefined instants, device parameters associated with the electronic device and user parameters associated with usage of a plurality of applications in the electronic device;
    identify application usage pattern based on the device parameters and the user parameters using one or more predefined techniques;
    cluster the one or more applications into one or more groups using a real-time learning model stored in the electronic device, wherein the learning model is trained dynamically based on the application usage pattern for clustering; and
    manage operations of the one or more applications on the electronic device based on the one or more clustered groups.
  9. The electronic device as claimed in claim 8, wherein the device parameters associated with the electronic device comprises status condition of Central Processing Unit (CPU), Graphic Processing Unit (GPU), memory and time while using the plurality of applications in the electronic device.
  10. The electronic device as claimed in claim 8, wherein the user parameters comprises location, application launch, notification actions, device connection status, touch operations and time of using each application.
  11. The electronic device as claimed in claim 8, wherein the processor manages the operations of the one or more applications on the electronic device by modifying one or more operational parameters of the one or more applications.
  12. The electronic device as claimed in claim 11, wherein the one or more operational parameters comprises one or more of a network access, a server push message access, a notification push and a job scheduler access and system policy restrictions for controlling performance and power parameters of the electronic device.
  13. The electronic device as claimed in claim 8, wherein the processor updates the identified one or more groups of the one or more applications on the electronic device upon detecting a change in the device parameters and the user parameters.
  14. The electronic device as claimed in claim 8, wherein the processor:
    provides details of the one or more groups identified at each instant to a user; and
    in response to providing the details, receives a feedback from the user on the clustering in order to iteratively train the learning model.
PCT/KR2020/002466 2019-02-20 2020-02-20 A method and system for managing operations of applications on an electronic device WO2020171622A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
IN201941006694 2019-02-20
IN201941006694 2020-02-18

Publications (1)

Publication Number Publication Date
WO2020171622A1 true WO2020171622A1 (en) 2020-08-27

Family

ID=72145159

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2020/002466 WO2020171622A1 (en) 2019-02-20 2020-02-20 A method and system for managing operations of applications on an electronic device

Country Status (1)

Country Link
WO (1) WO2020171622A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112905410A (en) * 2021-01-19 2021-06-04 中国人民解放军32039部队 Equipment state monitoring system and method
WO2022100009A1 (en) * 2020-11-13 2022-05-19 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Method and system for dynamic categorization of applications in user devices

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120117478A1 (en) * 2010-11-09 2012-05-10 Microsoft Corporation Managing network usage per application via policies
US20150301865A1 (en) * 2013-10-29 2015-10-22 Hua Zhong University Of Science Technology Hardware resource allocation for applications
US20150310139A1 (en) * 2014-04-25 2015-10-29 Appnomic Systems Private Limited Application behavior learning based capacity forecast model
US20160366648A1 (en) * 2015-06-12 2016-12-15 International Business Machines Corporation Association of applications to clusters mapped to logical battery partitions
US20180239637A1 (en) * 2017-02-22 2018-08-23 Microsoft Technology Licensing, Llc Contextual application organizer framework for user life events

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120117478A1 (en) * 2010-11-09 2012-05-10 Microsoft Corporation Managing network usage per application via policies
US20150301865A1 (en) * 2013-10-29 2015-10-22 Hua Zhong University Of Science Technology Hardware resource allocation for applications
US20150310139A1 (en) * 2014-04-25 2015-10-29 Appnomic Systems Private Limited Application behavior learning based capacity forecast model
US20160366648A1 (en) * 2015-06-12 2016-12-15 International Business Machines Corporation Association of applications to clusters mapped to logical battery partitions
US20180239637A1 (en) * 2017-02-22 2018-08-23 Microsoft Technology Licensing, Llc Contextual application organizer framework for user life events

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022100009A1 (en) * 2020-11-13 2022-05-19 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Method and system for dynamic categorization of applications in user devices
CN112905410A (en) * 2021-01-19 2021-06-04 中国人民解放军32039部队 Equipment state monitoring system and method
CN112905410B (en) * 2021-01-19 2021-11-30 中国人民解放军32039部队 Equipment state monitoring system and method

Similar Documents

Publication Publication Date Title
EP3753017A1 (en) A voice assistant device and method thereof
US11144726B2 (en) Method and system for identifying user intent from user statements
WO2021054809A1 (en) Method and system for generating dynamic user interface layout for an electronic device
WO2020171622A1 (en) A method and system for managing operations of applications on an electronic device
US20180032601A1 (en) Method and system for determining automation sequences for resolution of an incident ticket
WO2019235858A1 (en) A voice assistant device and method thereof
US10257867B2 (en) Systems and methods for effective physical cell identifier reuse
US10678630B2 (en) Method and system for resolving error in open stack operating system
US9977568B2 (en) Method and device for optimizing arrangement of an icon on display unit of device
WO2021210942A1 (en) Method and apparatus for identifying vertical application layer servers in wireless communication system
US10848462B2 (en) Method and system for managing policies in a network security system
WO2020189979A1 (en) Method and system for performing context-based application disablement on electronic device
US9760340B2 (en) Method and system for enhancing quality of requirements for an application development
WO2022186591A1 (en) Method and system for releasing pdu session
US11216488B2 (en) Method and system for managing applications in an electronic device
WO2023153786A1 (en) Method of managing media communication in mission critical (mc) system, mc server, and receiver thereof
EP4104475A1 (en) Method and apparatus for managing security context related to ue
WO2023043162A1 (en) Method and electronic device for identifying aggressor nodes in a communication network
EP3486023B1 (en) Method and system for performing laser marking
EP4342206A1 (en) Method and electronic device for identifying aggressor nodes in a communication network
WO2022216137A1 (en) Method and system for monitoring application services in a network
WO2023277342A1 (en) Method and system for modifying search query for a user
WO2023085543A1 (en) Method and electronic device for generating activity reminder in iot environment
US10338948B2 (en) Method and device for managing execution of scripts by a virtual computing unit
WO2021225404A1 (en) Method and system for improving uplink channel information (uci) decoding in communication network

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

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

Country of ref document: EP

Kind code of ref document: A1