WO2010084479A2 - Système et procédé d'amélioration des performances d'applications informatiques - Google Patents

Système et procédé d'amélioration des performances d'applications informatiques Download PDF

Info

Publication number
WO2010084479A2
WO2010084479A2 PCT/IB2010/050341 IB2010050341W WO2010084479A2 WO 2010084479 A2 WO2010084479 A2 WO 2010084479A2 IB 2010050341 W IB2010050341 W IB 2010050341W WO 2010084479 A2 WO2010084479 A2 WO 2010084479A2
Authority
WO
WIPO (PCT)
Prior art keywords
user
applications
resources
computer
higher priority
Prior art date
Application number
PCT/IB2010/050341
Other languages
English (en)
Other versions
WO2010084479A3 (fr
Inventor
Zak Dechovich
Original Assignee
Reimage 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 Reimage Ltd. filed Critical Reimage Ltd.
Publication of WO2010084479A2 publication Critical patent/WO2010084479A2/fr
Publication of WO2010084479A3 publication Critical patent/WO2010084479A3/fr

Links

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/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/508Monitor

Definitions

  • the present invention generally relates to the field of 'Computerized Performance Enhancement'. More specifically, the present invention relates to a system and method for enhancing performance of computer applications.
  • PC Users notice slowdown visually when they see and feel a slowly opening application, poor reactions from the operating system and the like. Users judge, feel and see slowdown mostly visually, the majority of users do not care how their PC's services, drivers and the like run, many do not even know about their existence.
  • PC slowdown mainly occurs due to too many applications and services running at the same time, competing for the same resources. Even when this is understood by the user, many times the user does not understand that by simply removing a network consuming P2P file sharing application, for example, will improve his Internet browsing speed.
  • Another example includes users of the Google Desktop indexing for most of their documents which may cripple systems with a slow hard drive.
  • the present invention is a method, application and system for enhancing the performance of computer applications (FIG.l).
  • a monitoring application or module may monitor user activity or behavior relative to running application while operating a computer.
  • a decision application or module may determine or estimate which running applications are of highest importance or relevance to the user at a given point in time or during a given period of time.
  • the monitoring module may determine a given application's importance based on the user's interaction with screens or other interface elements of the given application, or based on the user's interaction with screens/interface-elements of other applications functionally associated with the given application (FIG.2).
  • a user's active interaction with screens/interface-elements of an application may indicate importance/relevance of the application to the user.
  • Applications designated as important/relevant to a user may be apportioned additional resources on top of those already apportioned to them.
  • a reallocation application or module may reallocate resources in order to add resources to an application designated as important/relevant, and may reduce apportionment of resources to other application or processes not associated with the designated application (FIG. 3). Reallocation of resources may be performed using any method, technique or application known today or to be devised in the future. Resources which may be reallocated to an application may include CPU access, operating memory size, disk drive access, network access or any other computer resource which may or may not impact the performance of a given application.
  • applications designated as important/relevant and requiring access to a network may be apportioned additional access to network hardware or priority relating to accessing network hardware.
  • other application (not designated as important/relevant) may have their network access reduced or restricted completely while the important/relevant application uses the network related resources.
  • These non-designated applications may experience slow down, delay, reset execution cycles, etc.
  • Figure 1 presents an exemplary system for enhancing the performance of computer applications, in accordance with some embodiments of the present invention
  • FIG. 2 is a flowchart of the steps executed by an exemplary monitoring module and a decision module, in accordance with some embodiments of the present invention
  • FIG. 3 is a flowchart of the steps executed by an exemplary reallocation module, in accordance with some embodiments of the present invention.
  • Figure 4 is a screenshot of an exemplary result of an enhancement process, showing an exemplary tracked process (user is working on) and a corresponding exemplary task manager status in Windows environment, in accordance with some embodiments of the present invention
  • Figure 5 is a screenshot of an exemplary enhancement scenario, in accordance with some embodiments of the present invention.
  • Figure 6 is a flowchart of the steps executed as part of an exemplary pre-defined enhancement decisions process that may be configured manually or may be pre-defined per certain activities/situations/scenarios, in accordance with some embodiments of the present invention
  • Figure 7 is an exemplary system configuration of a system for enhancing the performance of computer applications in which some of the enhancement decisions are pre-defined by the user, in accordance with some embodiments of the present invention
  • Figure 8 is a flowchart of an exemplary process of tracking the mouse movements that may indicate where the user is looking and where the user is going to click next, in accordance with some embodiments of the present invention
  • Figure 9A is a drawing of an exemplary screenshot showing the proximity of the mouse curser to screen/interface elements, in accordance with some embodiments of the present invention
  • Figure 9B is a drawing of an exemplary screenshot showing the direction of movement of the mouse curser towards screen/interface elements, in accordance with some embodiments of the present invention
  • Figure 10 is a drawing of network configuration wherein shared network resources (e.g. bandwidth) may be allocated, enhanced or slowed-down in accordance with importance/priority/relevance of the applications which are being executed or which are predicted to be executed on the different computers, in accordance with some embodiments of the present invention;
  • shared network resources e.g. bandwidth
  • Figure His a flowchart of an exemplary pseudo code for enhancing user's activity by boosting the objects, processes, threads, windows, etc., in accordance with some embodiments of the present invention.
  • Figure 12 is a flowchart of an exemplary pseudo code for enhancing user's activity by enhancing objects and by slowing down access of processes needing the same objects, in accordance with some embodiments of the present invention.
  • Embodiments of the present invention may include apparatuses for performing the operations herein. Such apparatus may be specially constructed for the desired purposes, or it may comprise a general-purpose computer selectively activated or reconfigured by a computer program stored in the computer.
  • Such a computer program may be stored in a computer readable storage medium, such as, but is not limited to, any type of disk including floppy disks, optical disks, CD-ROMs, magnetic-optical disks, read-only memories (ROMs), random access memories (RAMs) electrically programmable read-only memories (EPROMs), electrically erasable and programmable read only memories (EEPROMs), magnetic or optical cards, or any other type of media suitable for storing electronic instructions, and capable of being coupled to a computer system bus.
  • a computer readable storage medium such as, but is not limited to, any type of disk including floppy disks, optical disks, CD-ROMs, magnetic-optical disks, read-only memories (ROMs), random access memories (RAMs) electrically programmable read-only memories (EPROMs), electrically erasable and programmable read only memories (EEPROMs), magnetic or optical cards, or any other type of media suitable for storing electronic instructions, and capable of being coupled to a computer system bus.
  • the present invention is a method, application and system for enhancing the performance of computer applications (FIG.l).
  • a monitoring application or module may monitor user activity or behavior relative to running application while operating a computer.
  • a decision application or module may determine or estimate which running applications are of highest importance or relevance to the user at a given point in time or during a given period of time.
  • the monitoring module may collect data, to be used by the decision module model in order to determine a given application's importance, based on the user's interaction with screens or other interface elements of the given application or based on the user's interaction with screens/interface-elements of other applications functionally associated with the given application (FIG.2).
  • a user's active interaction with screens/interface-elements of an application may indicate importance/relevance of the application to the user.
  • Applications designated as important/relevant to a user may be apportioned additional resources on top of those already apportioned to them.
  • a reallocation application or module may reallocate resources in order to add resources to an application designated as important/relevant, and may reduce apportionment of resources to other application or processes not associated with the designated application (FIG. 3). Reallocation of resources may be performed using any method, technique or application known today or to be devised in the future. Resources which may be reallocated to an application may include CPU access, operating memory size, disk drive access, network access or any other computer resource which may or may not impact the performance of a given application.
  • applications designated as important/relevant and requiring access to a network may be apportioned additional access to network hardware or priority relating to accessing network hardware.
  • other application (not designated as important/relevant) may have their network access reduced or restricted completely while the important/relevant application uses the network related resources.
  • These non-designated applications may experience slow down, delay, reset execution cycles, etc.
  • enhancement may not be needed at all times. For example, if a certain application is visible but barely consuming any resources, there is no motive for slowing it down. Furthermore, enhancement may happen immediately or after a certain threshold has been reached or crossed. For example, an enhancement may not take place as a result of reaching a lkb DNS requests rate or a lkb/sec file update rate, but rather after a 10kb or a 10kb/sec (respectively) threshold was reached.
  • a user's current actions may be determined by identification of visible objects (e.g. can be viewed with SPY++ tool in Visual Studio) that may thus be referred (e.g. by using Handles, HWND in Windows) and enumerated.
  • the owning process and thread of the visible one or more objects' Handles/HWNDs may be identified and the Handle/HWND or owning window may be tested, as to determine whether they are active (e.g. a button in a window).
  • Non active owning threads and/or processes may be marked as to be slowed down, whereas active ones may be marked as to be boosted (e.g. by receiving a higher priority).
  • a screenshot of an exemplary result of an enhancement process, showing an exemplary tracked process (user is working on) and a corresponding exemplary task manager status in Windows environment is shown in figure 4 (FIG. 4).
  • a user's upcoming actions may be predicted by locating the mouse curser's position on the screen (e.g. [X, Y] coordinates) and associating it with one or more visible objects' Handles/HWNDs. According to some embodiments of the present invention, this may be the top visible object's Handle/HWND.
  • their respective, owning processes and threads may be identified and marked for immediate or upcoming enhancement; prior markings may be overwritten by new ones when needed. The starting of a new process or initiation of any other action, for which the user is waiting, may then be recognized.
  • running processes may be enumerated. Accordingly, processes which are not yet ready (e.g. new, loading, starting) but may be shortly engaged by the user, may be marked for enhancement, prior markings may be overwritten by new ones when needed.
  • priorities of processes and threads may be reset in accordance with the aforementioned markings (e.g. using standard Windows API). Threads may also be reset differently within a process thus creating a newly prioritized and possibly differently resulting process.
  • enhancement may comprise two, possibly repeating or reoccurring, main steps/parts/functions.
  • a first step/part/function may consist substantially of understanding which applications or processes are to be enhanced.
  • a second step/part/function may consist substantially of reallocating or diverting computational resources to the applications and processes to be enhanced.
  • recognizing applications, processes and threads currently being used by the user; predicting applications, processes and threads about to be engaged by the user; identifying objects that interact with these applications, processes and threads; or any combination of these actions - may be used for re-prioritizing a computer's applications, processes and threads and/or re-allocating computational resources to them, in a manner that may enhance its user-experienced performance.
  • any applications supporting or servicing the abovementioned ones may also be tracked and/or manipulated.
  • the following exemplary enhancement scenario may take place (FIG 5):
  • the user is surfing the web (e.g. using Internet Explorer) he may have several tabs open; the active tab's thread is enhanced.
  • a downloading application e.g. e-Mule
  • a media player e.g. iTunes
  • MP3 file for the mobile media player (e.g. iPod).
  • flash banners on the on the active tab's website are receiving less Graphic Processing Unit and resources.
  • identification may further include prioritizing of said computational actions or action sets and/or determination of their level of enhancement or diminution.
  • pre-defined enhancement decisions may be configured manually or may be pre-defined per certain activities/situations/scenarios (FIG. 6). For example: a user may want to focus (i.e. to enhance) on a specific on-line game requiring fast internet and disk access while having indexing services running in the background.
  • An exemplary system configuration in which some of the enhancement decisions are pre-defined by the user is shown in figure
  • dynamic enhancement may be initiated or changed based on what the user expects at a specific time.
  • Dynamic enhancement may use various methods and/or inquiries for determining the user expected and/or preferred results, these may include, but are in no way limited to the following examples: a. Tracking the working application - application that the user is currently working with. b. Tracking the visible application - application visible to the user. It may also be any application that the user senses in any other way, like sound. c. Tracking the background applications, those that are running but the user is neither seeing nor using. d. Tracking the background applications that are serving 3 r party applications, such as, Domain Name System (DNS) service, providing access to internet explorer. e.
  • DNS Domain Name System
  • Tracking the working thread inside the application no need to boost all internet explorer tabs while the user is seeing only one.
  • Tracking the working window objects - may be a window, a part of a window, toolbar, tab, flash object, etc.
  • Tracking applications that service working applications for example: Remote Procedure Call (RPC)
  • RPC Remote Procedure Call
  • IE Internet Explorer
  • Tracking needs for resources based on application(s)-peak for example, Internet Explorer (IE) needs to load a page now. This may be done by recognizing that an application is in a certain consumption level, or a certain change or speed of change of a specific resource, triggering re- prioritization. For example, IE consumes more than 30kb/sec. of bandwidth - page is loading - allocate more resources to IE - page download is complete (e.g. IE consumes less than 5kb/sec.) - stop preferred allocation to IE - application needs to load - allocate accordingly.
  • enhancing the performance of applications, processes, threads and/or other computational actions currently being used/engaged by the user may comprise understanding and identifying the computational actions or action sets (e.g. applications, processes) for which performance is to be enhanced and enhancing their performance by allocating them preferred allocation of computational resources, at the expense of those used by some or all of the complementary, 'not to be enhanced' computational actions or action sets.
  • computational actions or action sets e.g. applications, processes
  • an application's own activity may cause it to be designated as important/relevant. Certain activities may be defined as important/relevant activities and applications adapted to engage in such activity may be designated as important when they are actually engaged so engaged. For example, if an application such as a web browser is loading a web-page, and the activity of loading a web-page is defined as an important/relevant activity, resources of application not engaged in activities defined as important/relevant activity may have their resources reallocated to the web-browser.
  • an enhancement may happen substantially immediately, or after a certain threshold is reached or passed.
  • an enhancement may not make sense for every lkb DNS request, a lkb/sec file update, or for every application that the mouse courser has 'touched'.
  • one or more thresholds may be set before an enhancement is actually executed.
  • an enhancement may not be executed under certain conditions. For example, if a certain application is visible, but is consuming no, or substantially modest, resources, there is no need for the enhancement to be executed.
  • Predictive enhancement may prepare the system for what a user's next/following action(s), for which any combination of some or all of the following methods may be used.
  • predictive enhancement decisions may be based on what the user is about to do or intends to do and enhancing certain resource allocations in preparation for these user actions.
  • Various methods and/or inquiries may be used for predicting user intentions/future-actions, these may include, but are in no way limited to, the following examples: a. Tracking the mouse movements may indicate in many cases where the user is looking and where the user is going to click next. At this point, it may be helpful to prepare the application, thread, object, etc. to react immediately to this user's mouse behavior.
  • This type of prediction may, for example, trigger the operation of a given application icon towards which the user's mouse is advancing and thus may lessen the time span between the instant when the user clicks and the instant when said applications window has fully responded.
  • Tracking of various other pointing devices may be used in a substantially similar way.
  • tracking the mouse movements may indicate where the user is looking and where the user is going to click next (FIG. 8). At this point, it may be helpful to prepare the application, thread, object, etc. to react immediately to the user's actions. Tracking the cursor caret may be used in a substantially similar way as the mouse curser movements when keyboard is used. Furthermore, any other pointing device, known today or to be devised in the future, may be substantially similarly used. Predictive enhancement may substantially affect the user's experience by initiating the uploading of what the user wants (i.e. soon to command/request) prior to the temporal instant of the actual interfacing.
  • predictive enhancement may track applications recently started by the user. Such application(s) may not be visible yet (as opposed to the mouse movement tracking where applications are already open). As the majority of the users consider a PC to be fast in accordance with the speed of a newly engaged application showing, satisfying this condition with a substantially immediate application opening, even if other functionalities of the application where delayed as a result, may create an impressive improvement of user experience. Certain newly started applications may not be enhanced. Applications started by other visible applications, for example, may be handled as those started by the user and may thus be enhanced, whereas background applications may start other background applications which may not necessarily need an enhancement, as their enhancement may not be acknowledgeable by the user.
  • the monitoring module may predicatively estimate or guess a given application's importance to the user (i.e. the user is about to use the application) based on mouse cursor location.
  • the application may monitor and take into consideration proximity (FIG. 9A) and velocity (direction and speed) (FIG. 9B) of the mouse cursor relative to a screen or other interface elements of the given application when predicting whether the user is about to interact with the given application, thereby making the given application an important/relevant application.
  • mouse cursor proximity to a screen/interface-element of a given application may indicate importance/relevance of the application to the user.
  • a decision on how to rearrange the computer resources' access and allocation may be reached.
  • main enhancement levels may be selected from: Full, Partial, None, and
  • the enhancement may be applied by slow-down to any object in the computer, operating system, subsystem or application. It is important to notice that throughout this document the concepts and terms related to the 'enhancement' and/or
  • 'slow-down' may be named and/or referred to by use of different names, for contextual and ease of understanding related reasons.
  • Partial - application is visible / noticeable, but the user is not working with it.
  • a YouTube stream running in the background may be visible on the screen while the user is working on another application, or it may be in the background, but the user can hear it. With this scenario, the YouTube stream is what the user is looking for, but it is not where his attention is focused.
  • Another example is a web page containing many visual flash commercials that drain CPU power. Most users will be working on another application leaving this window visible.
  • Graphics may be slowed down, or refresh rate dropped partially because the user is still expecting to get a reasonable graphics experience.
  • None - some applications may be untouched, for example, due to stability issues.
  • Slowdown - enhancement of other applications is achieved by sacrificing these particular applications, or parts of their execution time, and actively slowing them down by limiting their access to various system resources.
  • enhancement may be implemented in the context of changing processes' priorities and allowing more execution time for one or more prioritized processes. Further focus may be given to user expectations and thus quality-of-service may be enhanced by actively slowing down to various levels all or a part of the non needed contenders contending on a needed resource by the enhanced application(s).
  • the slow-down may sacrifice certain resource elements (e.g. cause a degradation of quality, a dropping of IO messages) in order to allocate resources for applications of higher importance/priority.
  • resource elements e.g. cause a degradation of quality, a dropping of IO messages
  • different needs may determine whether all, one or which of the resources will be enhanced and whether all, one or which of the resources will be slowed-down.
  • slow-down may, optionally, only be applied when a specific resource, or group of resources, is/are needed or when a certain threshold is reached or passed.
  • the following resources are monitored. Monitoring and slowing down may be executed using standard and known methods of hooking, detours, priority change, etc.
  • the monitored and slowed down resources may include any computer resource, such as, but in no way limited to, the following exemplary resources: a. Network - per operating-system interface to network communication protocol (e.g. winsock) session, per process, per thread, per context, etc. b. Disk access, by file, by disk, by connected platform Universal Serial Bus (USB), Integrated Drive Electronics (IDE), Small Computer System Interface (SCSI), etc. c. Graphics adapter, rendering engines, etc.
  • USB Universal Serial Bus
  • IDE Integrated Drive Electronics
  • SCSI Small Computer System Interface
  • the monitoring module may identify peaks in resource access and may thus keep to a minimum the level of slowdown performed.
  • One example is slowing down the internet access of all internet consuming applications so that a web page will load immediately. Once it is loaded the system is no longer slowed down.
  • slowdown may be done by using techniques for pausing processes, threads, injecting sleeps, returning pending status on resources, dropping graphics refresh and the like.
  • two or more systems for enhancement of computer applications may be installed and operated on two or more computers of a distributed computer network.
  • Network resources e.g. bandwidth
  • shared between the networked computers may be allocated, enhanced or slowed-down in accordance with importance/priority/relevance of the applications which are being executed or which are predicted to be executed on the different computers (FIG 10).
  • bandwidth bandwidth
  • a possible exemplary pseudo code for enhancing user's activity by boosting the objects, processes, threads, windows, etc. that the user is working with, or going to work with is demonstrated on Windows operating systems (FIG 11).
  • b. [101] Enumerate the visible objects, usually referred by HWND in windows and can be viewed with SPY++ tool in Visual Studio.
  • c. Get the owning process and thread of the visible objects HWND.
  • d. Test if HWND is active or if the owning windows are active, for example, button in a window. e.
  • HWND. k. [114] Mark the owning thread and process to be boosted, overwrite previous marking if needed. 1. [120] Recognize what the user is waiting for, in this case, this is a starting of a new process m. [121] Enumerate all running processes n. [122] Is the process starting, new, loading, newly loaded or any other state of not yet ready? o. [123] if YES, mark process to be boosted, overwrite previous marking if needed, p. [130] Set process and threads priorities as marked above using standard windows API. Threads may be set differently inside a process and not be the same as the process.
  • the proposed exemplary algorithm is demonstrated on Windows operating systems (FIG 12).
  • a process in the system is accessing a resource or performing an action on the resource.
  • the resource can be anything in the system, cpu, memory, disk, network, graphics, etc.
  • b. is this process marked for boost by one of the decision making algorithms? c.
  • the process is marked to be boosted. Does it required this specific resource above a certain level? d.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Stored Programmes (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

L'invention porte sur un système et un procédé d'amélioration des performances d'applications informatiques. Le système peut permettre l'amélioration des performances d'applications informatiques par identification d'applications couramment utilisées et/ou bientôt utilisées, prédéfinies de l'utilisateur et amélioration des performances de cette ou ces applications par divers moyens tels que l'établissement de nouvelles priorités et la réallocation de ressources informatiques.
PCT/IB2010/050341 2009-01-26 2010-01-26 Système et procédé d'amélioration des performances d'applications informatiques WO2010084479A2 (fr)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US14716209P 2009-01-26 2009-01-26
US61/147,162 2009-01-26
US15707309P 2009-03-03 2009-03-03
US61/157,073 2009-03-03

Publications (2)

Publication Number Publication Date
WO2010084479A2 true WO2010084479A2 (fr) 2010-07-29
WO2010084479A3 WO2010084479A3 (fr) 2011-05-26

Family

ID=42356272

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IB2010/050341 WO2010084479A2 (fr) 2009-01-26 2010-01-26 Système et procédé d'amélioration des performances d'applications informatiques

Country Status (1)

Country Link
WO (1) WO2010084479A2 (fr)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150106502A1 (en) * 2013-10-15 2015-04-16 Rawllin International Inc. Dynamic assignment of connection priorities for applications operating on a client device
US10007555B1 (en) * 2014-12-05 2018-06-26 Google Llc Dynamic resource management
EP3477473A1 (fr) * 2017-10-31 2019-05-01 Guangdong Oppo Mobile Telecommunications Corp., Ltd Procédé d'allocation de ressources et dispositif terminal
EP3483731A1 (fr) * 2017-11-09 2019-05-15 Guangdong Oppo Mobile Telecommunications Corp., Ltd Procédé d'allocation de ressources et produits associés
US11087262B2 (en) * 2013-07-18 2021-08-10 Level 3 Communications, Llc Systems and methods for generating customer solutions

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020049687A1 (en) * 2000-10-23 2002-04-25 David Helsper Enhanced computer performance forecasting system
US20020118220A1 (en) * 1999-05-07 2002-08-29 Philip Lui System and method for dynamic assistance in software applications using behavior and host application models
US20040255295A1 (en) * 2003-06-12 2004-12-16 Microsoft Corporation System and method for CPU bandwidth allocation
US20060190462A1 (en) * 2005-02-18 2006-08-24 Amit Bhri Global satellite databases and security systems

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020118220A1 (en) * 1999-05-07 2002-08-29 Philip Lui System and method for dynamic assistance in software applications using behavior and host application models
US20020049687A1 (en) * 2000-10-23 2002-04-25 David Helsper Enhanced computer performance forecasting system
US20040255295A1 (en) * 2003-06-12 2004-12-16 Microsoft Corporation System and method for CPU bandwidth allocation
US20060190462A1 (en) * 2005-02-18 2006-08-24 Amit Bhri Global satellite databases and security systems

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11087262B2 (en) * 2013-07-18 2021-08-10 Level 3 Communications, Llc Systems and methods for generating customer solutions
US20150106502A1 (en) * 2013-10-15 2015-04-16 Rawllin International Inc. Dynamic assignment of connection priorities for applications operating on a client device
US9350624B2 (en) * 2013-10-15 2016-05-24 Rawllin International Inc. Dynamic assignment of connection priorities for applications operating on a client device
US10007555B1 (en) * 2014-12-05 2018-06-26 Google Llc Dynamic resource management
EP3477473A1 (fr) * 2017-10-31 2019-05-01 Guangdong Oppo Mobile Telecommunications Corp., Ltd Procédé d'allocation de ressources et dispositif terminal
US11099901B2 (en) 2017-10-31 2021-08-24 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Method for resource allocation and terminal device
EP3483731A1 (fr) * 2017-11-09 2019-05-15 Guangdong Oppo Mobile Telecommunications Corp., Ltd Procédé d'allocation de ressources et produits associés
US10936371B2 (en) 2017-11-09 2021-03-02 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Method for resource allocation and related products

Also Published As

Publication number Publication date
WO2010084479A3 (fr) 2011-05-26

Similar Documents

Publication Publication Date Title
US11163599B2 (en) Determination of performance state of a user-selected parent component in a hierarchical computing environment based on performance states of related child components
JP6553203B2 (ja) アイドル時間のソフトウェア・ガベージ・コレクション
KR102150774B1 (ko) 단말기 애플리케이션을 로딩하기 위한 방법 및 장치
US10067790B2 (en) Method and apparatus for displaying information to a user and the user optimizing running of the processes
EP3508974B1 (fr) Procédé et terminal pour attribuer une ressource de système à une application
US10007555B1 (en) Dynamic resource management
EP2224351A1 (fr) Procédé à utiliser en association avec une interprétation multi-onglets et fonction de rendu
US20150347262A1 (en) Performance management based on resource consumption
US20080005736A1 (en) Reducing latencies in computing systems using probabilistic and/or decision-theoretic reasoning under scarce memory resources
JP2017511940A (ja) デバイス固有又はユーザー固有のリソース使用プロファイルに基づくリソース管理
JP2017514209A (ja) マルチプロセス・アプリケーションのための動的リソース管理
US10416864B2 (en) Method and apparatus for optimizing operating environment of a user terminal through multiple user interfaces
CN111190673B (zh) 基于操作监测的页面展示方法、装置和电子设备
US9772861B2 (en) Accessing operating system elements via a tag cloud
CN107040574B (zh) 一种截图、数据处理方法及设备
WO2010084479A2 (fr) Système et procédé d'amélioration des performances d'applications informatiques
WO2014107987A1 (fr) Procédé et appareil de présentation de fichier pour terminal intelligent
KR101904955B1 (ko) 터치 기반의 모바일 기기에서의 컴퓨팅 자원 할당방법 및 장치
CN111625290B (zh) 一种Android平台下布局文件预加载方法、装置及电子设备
CN110673958B (zh) 调频方法、调频装置、存储介质与电子设备
CN110347546B (zh) 监控任务动态调整方法、装置、介质及电子设备
US8892693B2 (en) Enabling fragment-based mobile device application streaming
US10528387B2 (en) Computer processing system with resource optimization and associated methods
Bae et al. EIMOS: Enhancing interactivity in mobile operating systems
CN115278786A (zh) 业务接入方法、装置、电子设备及存储介质

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

Country of ref document: EP

Kind code of ref document: A2

NENP Non-entry into the national phase in:

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 10733299

Country of ref document: EP

Kind code of ref document: A2