US20100257527A1 - Computer applications classifier - Google Patents
Computer applications classifier Download PDFInfo
- Publication number
- US20100257527A1 US20100257527A1 US12/751,631 US75163110A US2010257527A1 US 20100257527 A1 US20100257527 A1 US 20100257527A1 US 75163110 A US75163110 A US 75163110A US 2010257527 A1 US2010257527 A1 US 2010257527A1
- Authority
- US
- United States
- Prior art keywords
- processes
- data processing
- processing system
- analyzing
- computer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0793—Remedial or corrective actions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/0715—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a system implementing multitasking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/079—Root cause analysis, i.e. error or fault diagnosis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3438—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment monitoring of user actions
Definitions
- the present invention relates to the field of computing devices and personal device accessories (PDA), and more particularly, to enhancing the efficiency of operating system and runtime environments associated with such devices.
- PDA personal device accessories
- the majority of existing computer and mobile phone operating systems use a priority-driven scheduler.
- the scheduling is mostly based on a simple, predefined priority setting within the application itself, and ad-hoc monitoring of real-time process behavior.
- the priority with which a process or a thread will be processed in the computer is detached in time and context from the actual user need, computer processing (and other resources') capabilities, knowledge regarding the process itself, the interrelationship between processes, and more.
- these priority settings only arbitrarily relate to the other concurrent processes, often leading to user frustration in his computer usage experience.
- Embodiments of the present invention provide a data processing system, comprising: a updating database of a plurality of processes relating to a plurality of applications and using a plurality of computing resources, at least some of the processes relating to at least one user activity, the database comprising a classification of the processes; a tracker arranged to monitor the processes in relation to the applications, the computing resources and their relation to the user activities, and update the database substantially immediately upon changes thereof; an analyzer arranged to analyze the use of the computing resources by each of the processes, and to analyze the user activities in respect to the processes; and a classifier arranged to classify the processes in respect to the analyzed user activity, and update the classification in the database.
- Embodiments of the present invention provide a computer implemented method comprising: monitoring a plurality of processes relating to a plurality of applications and using a plurality of computing resources, at least some of the processes relating to a user activity; analyzing the use of the computing resources by each of the processes; analyzing the user activity in respect to the processes; and classifying the processes in respect to the analyzed user activity, wherein the monitoring; the processing; the analyzing use; the analyzing user activity; and the classifying, are carried out substantially immediately during running the processes, and wherein at least one of: the monitoring; the processing; the analyzing use; the analyzing user activity; and the classifying, is performed by at least one computer, computing device, or mobile phone.
- FIG. 1 is a high level schematic block diagram of a data processing system, according to some embodiments of the invention.
- FIG. 2 is a high level flowchart illustrating a computer implemented method according to some embodiments of the invention.
- ⁇ as used herein in this application, is defined as a programmable machine that receives input, stores and manipulates data, and provides output in a useful format.
- a computer comprises at least a processor, a storage and an input/output unit.
- the term “computer” is understood to include any computing or communication device (e.g., mobile phones).
- application as used herein in this application, is defined as computer software designed to help the user to perform a singular or multiple related specific tasks. Typical examples are word processors, spreadsheets, media players and database applications.
- process as used herein in this application, is defined as an instance of an application that is being executed by a computer.
- the process comprises program code and current activity.
- OS operating system
- a process may be made up of multiple threads of execution that execute instructions concurrently.
- an application is a passive collection of instructions
- a process is the actual execution of those instructions.
- Several processes may be associated with the same application; for example, opening up several instances of the same program often means more than one process is being executed.
- operating system is defined as an interface between hardware and user, which is responsible for the management and coordination of activities and the sharing of the resources of a computer, that acts as a host for computing applications run on the machine.
- One of the purposes of an operating system is to handle the resource allocation and access protection of the hardware. This relieves the application programmers from having to manage these details.
- Operating systems offer a number of services to application programs and users. Applications access these services through application programming interfaces (APIs) or system calls. By invoking these interfaces, the application can request a service from the operating system, pass parameters, and receive the results of the operation.
- APIs application programming interfaces
- the term operating system is extended to further comprise run-time environments, being collections of software services enhancing the interaction with the operating system, such as virtual machines, interfaces and program libraries.
- computing resources is defined as any physical or virtual component of limited availability within a computer system. Every device connected to a computer system is a resource. Every internal system component is a resource. Virtual system resources include files, network connections and memory areas. Examples of common computing resources are: CPU time; random access memory and virtual memory; hard disk space; network throughput; electrical power; external devices; and input/output operations. Usage of computing resources comprises any utilization of them, by any process or application, relating to either users, the system, external devices and monitoring applications.
- the invention relates to processes 80 relating to user activities 95 of users 90 , and to the processing of applications 82 on computing resources 84 , e.g., within an operating system (OS) or within any runtime environment (.NET framework, JAVA).
- OS operating system
- .NET framework runtime environment
- Current (prior art) typical underlying operation mode of OS scheduling resources distribution per application may comprise the preset priority of the application and ad hoc real-time process behavior determine the scheduling priority, without taking into account actual user requirements and priorities, as well as interrelationship of processes.
- the scheduler does not analyze nor allocate the processing resources according to a wider view of processing analysis, user behavior, existing process knowledge or any other source.
- FIG. 1 is a high level schematic block diagram of a data processing system 100 , according to some embodiments of the invention.
- Data processing system 100 comprises a updating database 140 of a plurality of processes 180 (corresponding to processes 80 ), e.g., the most common processes, relating to a plurality of applications 182 (corresponding to applications 82 ) and using a plurality of computing resources (including network resources) 184 (corresponding to computing resources 84 ).
- at least some of processes 180 relate to at least one user activity 195 (corresponding to user activities 95 ).
- Database 140 further comprises a classification 170 of processes 180 .
- Data processing system 100 further comprises a tracker 110 arranged to monitor processes 80 in relation to applications 82 , computing resources 84 and their relation to user activities 95 .
- Tracker 110 is arranged to update database 140 upon changes of processes 80 , applications 82 , computing resources 84 , user activities 95 and interrelations between them.
- Tracker 110 may monitor and analyze the relevant real-time and non real-time data regarding process' requirements, processing resources availability and user's priorities, and constantly shape the processing schedule.
- Tracker 110 may further track the computer and user activity providing real-time and non real-time data regarding process' requirements, processing resources availability and user's priorities.
- Data processing system 100 further comprises an analyzer 120 arranged to analyze the use of computing resources 84 by each of processes 80 , and to analyze user activities 95 in respect to processes 80 .
- Data processing system 100 further comprises a classifier 130 arranged to classify processes 80 in respect to the analyzed user activity 95 , and update classification 170 in database 140 accordingly.
- data processing system 100 may comprise a processing module 150 comprising tracker 110 , analyzer 120 and classifier 130 , that is arranged to generate and update processes 180 , user activities 195 , applications 182 and computing resources 184 in database 140 in real-time in relation to at least some of: processes 80 , user activities 95 , applications 82 and computing resources 84 .
- processing module 150 comprising tracker 110 , analyzer 120 and classifier 130 , that is arranged to generate and update processes 180 , user activities 195 , applications 182 and computing resources 184 in database 140 in real-time in relation to at least some of: processes 80 , user activities 95 , applications 82 and computing resources 84 .
- Processing module 150 and database 140 may be embodied within the operating system or as external modules communicating therewith.
- Database 140 may embody an inventory (“Catalog”) (based on a local/remote database, another repository, or an external device) compiling information of every object run or processed by the computer (“Catalog Item”), for example software applications, hardware devices, online services, multimedia codecs, web applications, drivers, plug-ins, all built-in and add-on hardware, any software, and more, creating a common basis for data analysis within the computer over time and between different computers.
- the Catalog enables to attribute specific partial processes to an object, and analyze process behavior in the context of the full catalog item.
- the aggregated knowledge may be contributed to a central repository for future use by the local computer and other computers utilizing that repository. Examples of the type of information collected for each catalog item may include: a list of related binary executable files, its typical use of resources in different scenarios, its typical method of usage, operational costs when the catalog item resides on the computer, etc.
- Tracker 110 may embody a real-time Computer Processes Tracking Mechanism (CPTM) having means of tracking ongoing computer activity and ongoing user activity (using designated probes, such as a file system driver, user interaction, network activity, etc.) and providing the relevant data for the analysis process.
- CPTM Computer Processes Tracking Mechanism
- Classifier 130 maybe be associated with the operating system as a plug-in, as an add-on, or be built-in in the operating system.
- Classifier 130 may comprise predefined user setting associated with specified actions or applications.
- classifier 130 may employ several related and unrelated heuristics in order to determine a relationship between an application and a specified process.
- the function of an application may be derived from the file's name of each application.
- Another heuristics is to apply a search engine (such as Google's) to a plurality of application names, to yield meaning thereof. The meaning is associated with the dominant aspect of the classified application.
- FIG. 2 is a high level flowchart illustrating a computer implemented method according to some embodiments of the invention.
- the computer implemented method comprises the following stages: monitoring a plurality of processes relating to a plurality of applications and using a plurality of computing resources, at least some of the processes relating to a user activity (stage 200 ); analyzing the use of the computing resources by each of the processes (stage 210 ); analyzing the user activity in respect to the processes (stage 220 ); and classifying the processes in respect to the analyzed user activity (stage 230 ).
- stages 200 - 230 are carried out substantially immediately during running the processes. At least one of the stages 200 - 230 is performed by at least one computer.
- the plurality of processes comprises all processes relating to the computer resources.
- the computer implemented method further comprises any of the following stages, that may be performed by at least one computer: monitoring and analyzing the processes' use of the computing resources (stage 240 ); and incorporating processes of an external software in the plurality of processes (stage 250 ).
- Methods of the present invention may be implemented by performing or completing manually, automatically, or a combination thereof, selected steps or tasks.
- method may refer to manners, means, techniques and procedures for accomplishing a given task including, but not limited to, those manners, means, techniques and procedures either known to, or readily developed from known manners, means, techniques and procedures by practitioners of the art to which the invention belongs.
- the present invention may be implemented in the testing or practice with methods and materials equivalent or similar to those described herein.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
Abstract
A computer implemented method comprising: monitoring a plurality of processes relating to a plurality of applications and using a plurality of computing resources, at least some of the processes relating to a user activity; analyzing the use of the computing resources by each of the processes; analyzing the user activity in respect to the processes; and classifying the processes in respect to the analyzed user activity, wherein the monitoring; the processing; the analyzing use; the analyzing user activity; and the classifying, are carried out during running the processes, and wherein at least one of: the monitoring; the processing; the analyzing use; the analyzing user activity; and the classifying, is performed by at least one computer.
Description
- This application claims the benefit of U.S. Provisional Patent Application 61/202,750 filed on Apr. 1, 2009 and U.S. Provisional Patent Application 61/213,453 filed on Jun. 10, 2009, which are incorporated herein by reference.
- 1. Technical Field
- The present invention relates to the field of computing devices and personal device accessories (PDA), and more particularly, to enhancing the efficiency of operating system and runtime environments associated with such devices.
- 2. Discussion of Related Art
- The majority of existing computer and mobile phone operating systems use a priority-driven scheduler. The scheduling is mostly based on a simple, predefined priority setting within the application itself, and ad-hoc monitoring of real-time process behavior. Thus the priority with which a process or a thread will be processed in the computer is detached in time and context from the actual user need, computer processing (and other resources') capabilities, knowledge regarding the process itself, the interrelationship between processes, and more. In real-time, these priority settings only arbitrarily relate to the other concurrent processes, often leading to user frustration in his computer usage experience.
- Although existing scheduling procedures are very limited and largely one dimensional, computer applications differ greatly on various traits, such as resource requirements over time, mode of use by the user, multiple-process relationship and others. Furthermore, critical factors in the computer's purpose and functionality, for example user requirements and expectations, do not play a part in the scheduling process.
- Embodiments of the present invention provide a data processing system, comprising: a updating database of a plurality of processes relating to a plurality of applications and using a plurality of computing resources, at least some of the processes relating to at least one user activity, the database comprising a classification of the processes; a tracker arranged to monitor the processes in relation to the applications, the computing resources and their relation to the user activities, and update the database substantially immediately upon changes thereof; an analyzer arranged to analyze the use of the computing resources by each of the processes, and to analyze the user activities in respect to the processes; and a classifier arranged to classify the processes in respect to the analyzed user activity, and update the classification in the database.
- Embodiments of the present invention provide a computer implemented method comprising: monitoring a plurality of processes relating to a plurality of applications and using a plurality of computing resources, at least some of the processes relating to a user activity; analyzing the use of the computing resources by each of the processes; analyzing the user activity in respect to the processes; and classifying the processes in respect to the analyzed user activity, wherein the monitoring; the processing; the analyzing use; the analyzing user activity; and the classifying, are carried out substantially immediately during running the processes, and wherein at least one of: the monitoring; the processing; the analyzing use; the analyzing user activity; and the classifying, is performed by at least one computer, computing device, or mobile phone.
- These, additional, and/or other aspects and/or advantages of the present invention are: set forth in the detailed description which follows; possibly inferable from the detailed description; and/or learnable by practice of the present invention.
- The present invention will be more readily understood from the detailed description of embodiments thereof made in conjunction with the accompanying drawings of which:
-
FIG. 1 is a high level schematic block diagram of a data processing system, according to some embodiments of the invention; and -
FIG. 2 is a high level flowchart illustrating a computer implemented method according to some embodiments of the invention. - Before explaining at least one embodiment of the invention in detail, it is to be understood that the invention is not limited in its application to the details of construction and the arrangement of the components set forth in the following description or illustrated in the drawings. The invention is applicable to other embodiments or of being practiced or carried out in various ways. Also, it is to be understood that the phraseology and terminology employed herein is for the purpose of description and should not be regarded as limiting.
- For a better understanding of the invention, the usages of the following terms in the present disclosure are defined in a non-limiting manner:
- The term “computer” as used herein in this application, is defined as a programmable machine that receives input, stores and manipulates data, and provides output in a useful format. A computer comprises at least a processor, a storage and an input/output unit. In particular, in this application, the term “computer” is understood to include any computing or communication device (e.g., mobile phones).
- The term “application” as used herein in this application, is defined as computer software designed to help the user to perform a singular or multiple related specific tasks. Typical examples are word processors, spreadsheets, media players and database applications.
- The term “process” as used herein in this application, is defined as an instance of an application that is being executed by a computer. The process comprises program code and current activity. Depending on the operating system (OS), a process may be made up of multiple threads of execution that execute instructions concurrently.
- Whereas an application is a passive collection of instructions, a process is the actual execution of those instructions. Several processes may be associated with the same application; for example, opening up several instances of the same program often means more than one process is being executed.
- The term “operating system” as used herein in this application, is defined as an interface between hardware and user, which is responsible for the management and coordination of activities and the sharing of the resources of a computer, that acts as a host for computing applications run on the machine. One of the purposes of an operating system is to handle the resource allocation and access protection of the hardware. This relieves the application programmers from having to manage these details. Operating systems offer a number of services to application programs and users. Applications access these services through application programming interfaces (APIs) or system calls. By invoking these interfaces, the application can request a service from the operating system, pass parameters, and receive the results of the operation. In the current application, the term operating system is extended to further comprise run-time environments, being collections of software services enhancing the interaction with the operating system, such as virtual machines, interfaces and program libraries.
- The term “computing resources” as used herein in this application, is defined as any physical or virtual component of limited availability within a computer system. Every device connected to a computer system is a resource. Every internal system component is a resource. Virtual system resources include files, network connections and memory areas. Examples of common computing resources are: CPU time; random access memory and virtual memory; hard disk space; network throughput; electrical power; external devices; and input/output operations. Usage of computing resources comprises any utilization of them, by any process or application, relating to either users, the system, external devices and monitoring applications.
- The invention relates to
processes 80 relating touser activities 95 ofusers 90, and to the processing ofapplications 82 oncomputing resources 84, e.g., within an operating system (OS) or within any runtime environment (.NET framework, JAVA). Current (prior art) typical underlying operation mode of OS scheduling resources distribution per application may comprise the preset priority of the application and ad hoc real-time process behavior determine the scheduling priority, without taking into account actual user requirements and priorities, as well as interrelationship of processes. The scheduler does not analyze nor allocate the processing resources according to a wider view of processing analysis, user behavior, existing process knowledge or any other source. -
FIG. 1 is a high level schematic block diagram of adata processing system 100, according to some embodiments of the invention.Data processing system 100 comprises aupdating database 140 of a plurality of processes 180 (corresponding to processes 80), e.g., the most common processes, relating to a plurality of applications 182 (corresponding to applications 82) and using a plurality of computing resources (including network resources) 184 (corresponding to computing resources 84). Optionally, at least some ofprocesses 180 relate to at least one user activity 195 (corresponding to user activities 95).Database 140 further comprises aclassification 170 ofprocesses 180. -
Data processing system 100 further comprises atracker 110 arranged to monitorprocesses 80 in relation toapplications 82,computing resources 84 and their relation touser activities 95.Tracker 110 is arranged to updatedatabase 140 upon changes ofprocesses 80,applications 82,computing resources 84,user activities 95 and interrelations between them.Tracker 110 may monitor and analyze the relevant real-time and non real-time data regarding process' requirements, processing resources availability and user's priorities, and constantly shape the processing schedule.Tracker 110 may further track the computer and user activity providing real-time and non real-time data regarding process' requirements, processing resources availability and user's priorities. -
Data processing system 100 further comprises ananalyzer 120 arranged to analyze the use ofcomputing resources 84 by each ofprocesses 80, and to analyzeuser activities 95 in respect toprocesses 80. -
Data processing system 100 further comprises aclassifier 130 arranged to classifyprocesses 80 in respect to the analyzeduser activity 95, and updateclassification 170 indatabase 140 accordingly. - In embodiments,
data processing system 100 may comprise aprocessing module 150 comprisingtracker 110,analyzer 120 andclassifier 130, that is arranged to generate and updateprocesses 180,user activities 195,applications 182 andcomputing resources 184 indatabase 140 in real-time in relation to at least some of:processes 80,user activities 95,applications 82 andcomputing resources 84. -
Processing module 150 anddatabase 140 may be embodied within the operating system or as external modules communicating therewith. -
Database 140 may embody an inventory (“Catalog”) (based on a local/remote database, another repository, or an external device) compiling information of every object run or processed by the computer (“Catalog Item”), for example software applications, hardware devices, online services, multimedia codecs, web applications, drivers, plug-ins, all built-in and add-on hardware, any software, and more, creating a common basis for data analysis within the computer over time and between different computers. The Catalog enables to attribute specific partial processes to an object, and analyze process behavior in the context of the full catalog item. The aggregated knowledge may be contributed to a central repository for future use by the local computer and other computers utilizing that repository. Examples of the type of information collected for each catalog item may include: a list of related binary executable files, its typical use of resources in different scenarios, its typical method of usage, operational costs when the catalog item resides on the computer, etc. -
Tracker 110 may embody a real-time Computer Processes Tracking Mechanism (CPTM) having means of tracking ongoing computer activity and ongoing user activity (using designated probes, such as a file system driver, user interaction, network activity, etc.) and providing the relevant data for the analysis process. -
Classifier 130 maybe be associated with the operating system as a plug-in, as an add-on, or be built-in in the operating system. -
Classifier 130 may comprise predefined user setting associated with specified actions or applications. - According to some embodiments of the
invention classifier 130 may employ several related and unrelated heuristics in order to determine a relationship between an application and a specified process. For example, according to one heuristics, the function of an application may be derived from the file's name of each application. Another heuristics is to apply a search engine (such as Google's) to a plurality of application names, to yield meaning thereof. The meaning is associated with the dominant aspect of the classified application. -
FIG. 2 is a high level flowchart illustrating a computer implemented method according to some embodiments of the invention. The computer implemented method comprises the following stages: monitoring a plurality of processes relating to a plurality of applications and using a plurality of computing resources, at least some of the processes relating to a user activity (stage 200); analyzing the use of the computing resources by each of the processes (stage 210); analyzing the user activity in respect to the processes (stage 220); and classifying the processes in respect to the analyzed user activity (stage 230). In embodiments, stages 200-230 are carried out substantially immediately during running the processes. At least one of the stages 200-230 is performed by at least one computer. In embodiments, - In embodiments, the plurality of processes comprises all processes relating to the computer resources.
- In embodiments, the computer implemented method further comprises any of the following stages, that may be performed by at least one computer: monitoring and analyzing the processes' use of the computing resources (stage 240); and incorporating processes of an external software in the plurality of processes (stage 250).
- In the above description, an embodiment is an example or implementation of the inventions. The various appearances of “one embodiment,” “an embodiment” or “some embodiments” do not necessarily all refer to the same embodiments.
- Although various features of the invention may be described in the context of a single embodiment, the features may also be provided separately or in any suitable combination. Conversely, although the invention may be described herein in the context of separate embodiments for clarity, the invention may also be implemented in a single embodiment.
- Reference in the specification to “some embodiments”, “an embodiment”, “one embodiment” or “other embodiments” means that a particular feature, structure, or characteristic described in connection with the embodiments is included in at least some embodiments, but not necessarily all embodiments, of the inventions.
- It is to be understood that the phraseology and terminology employed herein is not to be construed as limiting and are for descriptive purpose only.
- The principles and uses of the teachings of the present invention may be better understood with reference to the accompanying description, figures and examples.
- It is to be understood that the details set forth herein do not construe a limitation to an application of the invention.
- Furthermore, it is to be understood that the invention can be carried out or practiced in various ways and that the invention can be implemented in embodiments other than the ones outlined in the description above.
- It is to be understood that the terms “including”, “comprising”, “consisting” and grammatical variants thereof do not preclude the addition of one or more components, features, steps, or integers or groups thereof and that the terms are to be construed as specifying components, features, steps or integers.
- If the specification or claims refer to “an additional” element, that does not preclude there being more than one of the additional element.
- It is to be understood that where the claims or specification refer to “a” or “an” element, such reference is not to be construed that there is only one of that element.
- It is to be understood that where the specification states that a component, feature, structure, or characteristic “may”, “might”, “can” or “could” be included, that particular component, feature, structure, or characteristic is not required to be included.
- Where applicable, although state diagrams, flow diagrams or both may be used to describe embodiments, the invention is not limited to those diagrams or to the corresponding descriptions. For example, flow need not move through each illustrated box or state, or in exactly the same order as illustrated and described.
- Methods of the present invention may be implemented by performing or completing manually, automatically, or a combination thereof, selected steps or tasks.
- The term “method” may refer to manners, means, techniques and procedures for accomplishing a given task including, but not limited to, those manners, means, techniques and procedures either known to, or readily developed from known manners, means, techniques and procedures by practitioners of the art to which the invention belongs.
- The descriptions, examples, methods and materials presented in the claims and the specification are not to be construed as limiting but rather as illustrative only.
- Meanings of technical and scientific terms used herein are to be commonly understood as by one of ordinary skill in the art to which the invention belongs, unless otherwise defined.
- The present invention may be implemented in the testing or practice with methods and materials equivalent or similar to those described herein.
- Any publications, including patents, patent applications and articles, referenced or mentioned in this specification are herein incorporated in their entirety into the specification, to the same extent as if each individual publication was specifically and individually indicated to be incorporated herein. In addition, citation or identification of any reference in the description of some embodiments of the invention shall not be construed as an admission that such reference is available as prior art to the present invention.
- While the invention has been described with respect to a limited number of embodiments, these should not be construed as limitations on the scope of the invention, but rather as exemplifications of some of the preferred embodiments. Other possible variations, modifications, and applications are also within the scope of the invention. Accordingly, the scope of the invention should not be limited by what has thus far been described, but by the appended claims and their legal equivalents.
Claims (17)
1. A data processing system, comprising:
an updating database of a plurality of processes associated respectively with a plurality of computer applications and using a plurality of computing resources respectively, wherein at least some of the processes are associated with at least one user activity, the database comprising a classification of the processes;
a tracker arranged to monitor the processes associated with the applications, the computing resources and their relation to the user activities, and to update the database upon changes thereof;
an analyzer arranged to analyze usage of the computing resources by each of the processes, and to analyze the user activities in respect to the processes; and
a classifier arranged to classify the processes in respect to the analyzed user activity, and update the classification in the database.
2. The data processing system of claim 1 , wherein the database further comprises an inventory of all processes relating to the computer resources.
3. The data processing system of claim 1 , wherein the database comprises entries relating to each process, the entries comprising: a list of related binary executable files and resources use patterns in different scenarios.
4. The data processing system of claim 1 , wherein the database comprises a managing module arranged to monitor and analyze the processes' use of the computing resources.
5. The data processing system of claim 1 , wherein the database, the tracker, the analyzer and the classifier are embedded within an operating system running the processes with the computing resources.
6. The data processing system of claim 1 , wherein at least one of: the database, the tracker, the analyzer and the classifier, are associated with an operating system running the processes with the computing resources via a plug-in or an add-on.
7. The data processing system of claim 1 , wherein the tracker implements a real-time Computer Processes Tracking Mechanism (CPTM) arranged to track ongoing computer activity and ongoing user activity and to provide the relevant data to the classifier.
8. The data processing system of claim 1 , wherein the classifier comprises predefined user setting associated with specified user actions.
9. The data processing system of claim 1 , wherein the classifier comprises predefined user setting associated with specified applications.
10. The data processing system of claim 1 , wherein the relation between a specified application and process are derived by at least one predefined heuristics.
11. The data processing system of claim 10 , wherein at least one heuristics comprises applying a search engine to a name or file name of the application.
12. The data processing system of claim 10 , wherein at least one heuristics comprise applying a dictionary function to a file name or file name of the application.
13. A computer implemented method comprising:
monitoring a plurality of processes relating to a plurality of applications and using a plurality of computing resources, at least some of the processes relating to a user activity;
analyzing the use of the computing resources by each of the processes;
analyzing the user activity in respect to the processes; and
classifying the processes in respect to the analyzed user activity,
wherein the monitoring; the processing; the analyzing use; the analyzing user activity; and the classifying, are carried out during running the processes, and
wherein at least one of: the monitoring; the processing; the analyzing use; the analyzing user activity; and the classifying, is performed by at least one computer.
14. The computer implemented method of claim 13 , wherein the monitoring; the processing; the analyzing use; the analyzing user activity; and the classifying, are carried out substantially immediately during running the processes.
15. The computer implemented method of claim 13 , wherein the plurality of processes comprises all processes relating to the computer resources.
16. The computer implemented method of claim 13 , further comprising monitoring and analyzing the processes' use of the computing resources.
17. The computer implemented method of claim 13 , further comprising incorporating processes of an external software in the plurality of processes.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/751,631 US20100257527A1 (en) | 2009-04-01 | 2010-03-31 | Computer applications classifier |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US20275009P | 2009-04-01 | 2009-04-01 | |
US21345309P | 2009-06-10 | 2009-06-10 | |
US12/751,631 US20100257527A1 (en) | 2009-04-01 | 2010-03-31 | Computer applications classifier |
Publications (1)
Publication Number | Publication Date |
---|---|
US20100257527A1 true US20100257527A1 (en) | 2010-10-07 |
Family
ID=42827053
Family Applications (5)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/751,494 Abandoned US20100257533A1 (en) | 2009-04-01 | 2010-03-31 | Computer applications scheduler |
US12/751,631 Abandoned US20100257527A1 (en) | 2009-04-01 | 2010-03-31 | Computer applications classifier |
US12/751,600 Active 2030-11-12 US8812909B2 (en) | 2009-04-01 | 2010-03-31 | Remedying identified frustration events in a computer system |
US12/751,544 Active 2031-01-16 US9135104B2 (en) | 2009-04-01 | 2010-03-31 | Identifying frustration events of users using a computer system |
US14/323,757 Active 2030-10-21 US9652317B2 (en) | 2009-04-01 | 2014-07-03 | Remedying identified frustration events in a computer system |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/751,494 Abandoned US20100257533A1 (en) | 2009-04-01 | 2010-03-31 | Computer applications scheduler |
Family Applications After (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/751,600 Active 2030-11-12 US8812909B2 (en) | 2009-04-01 | 2010-03-31 | Remedying identified frustration events in a computer system |
US12/751,544 Active 2031-01-16 US9135104B2 (en) | 2009-04-01 | 2010-03-31 | Identifying frustration events of users using a computer system |
US14/323,757 Active 2030-10-21 US9652317B2 (en) | 2009-04-01 | 2014-07-03 | Remedying identified frustration events in a computer system |
Country Status (1)
Country | Link |
---|---|
US (5) | US20100257533A1 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100257543A1 (en) * | 2009-04-01 | 2010-10-07 | Soluto Ltd | Identifying frustration events of users using a computer system |
US8522137B1 (en) * | 2011-06-30 | 2013-08-27 | Zynga Inc. | Systems, methods, and machine readable media for social network application development using a custom markup language |
WO2016159949A1 (en) * | 2015-03-30 | 2016-10-06 | Hewlett Packard Enterprise Development Lp | Application analyzer for cloud computing |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8209759B2 (en) * | 2005-07-18 | 2012-06-26 | Q1 Labs, Inc. | Security incident manager |
US10387927B2 (en) | 2010-01-15 | 2019-08-20 | Dell Products L.P. | System and method for entitling digital assets |
US9256899B2 (en) | 2010-01-15 | 2016-02-09 | Dell Products, L.P. | System and method for separation of software purchase from fulfillment |
US9235399B2 (en) | 2010-01-15 | 2016-01-12 | Dell Products L.P. | System and method for manufacturing and personalizing computing devices |
US9100396B2 (en) | 2010-01-29 | 2015-08-04 | Dell Products L.P. | System and method for identifying systems and replacing components |
US8170783B2 (en) | 2010-03-16 | 2012-05-01 | Dell Products L.P. | System and method for handling software activation in entitlement |
US8707087B2 (en) * | 2010-05-18 | 2014-04-22 | Dell Products L.P. | Restoration of an image backup using information on other information handling systems |
US9280391B2 (en) * | 2010-08-23 | 2016-03-08 | AVG Netherlands B.V. | Systems and methods for improving performance of computer systems |
US8671347B2 (en) * | 2011-01-07 | 2014-03-11 | Empire Technology Development Llc | Quantifying frustration via a user interface |
US20120185776A1 (en) * | 2011-01-14 | 2012-07-19 | Microsoft Corporation | Analyzing resource consumption of software executing during a usage scenario |
ES2837458T3 (en) * | 2011-06-28 | 2021-06-30 | Amadeus Sas | Data processing method and system for the modification of databases |
US9727232B2 (en) * | 2011-09-30 | 2017-08-08 | Nokia Technologies Oy | Methods, apparatuses, and computer program products for improving device behavior based on user interaction |
FR2982386B1 (en) * | 2011-11-08 | 2016-05-27 | Bull Sas | METHOD, COMPUTER PROGRAM, AND CLUSTER COMPUTER RESOURCE ALLOCATION DEVICE FOR EXECUTING A WORK SUBMITTED TO AUDIT CLUSTER |
US8949401B2 (en) | 2012-06-14 | 2015-02-03 | Dell Products L.P. | Automated digital migration |
US8468139B1 (en) | 2012-07-16 | 2013-06-18 | Dell Products L.P. | Acceleration of cloud-based migration/backup through pre-population |
US9779219B2 (en) | 2012-08-09 | 2017-10-03 | Dell Products L.P. | Method and system for late binding of option features associated with a device using at least in part license and unique ID information |
US9244939B2 (en) * | 2013-06-27 | 2016-01-26 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Managing I/O operations in a shared file system |
GB201322317D0 (en) | 2013-12-17 | 2014-01-29 | Ibm | Computer system processes |
US20170213171A1 (en) * | 2016-01-21 | 2017-07-27 | Accenture Global Solutions Limited | Intelligent scheduling and work item allocation |
US11106337B2 (en) * | 2016-03-11 | 2021-08-31 | Sap Se | Adaptation of user interfaces based on a frustration index |
EP3346412B1 (en) * | 2017-01-05 | 2020-09-09 | Tata Consultancy Services Limited | System and method for consent centric data compliance checking |
US20200034156A1 (en) * | 2018-07-25 | 2020-01-30 | Futurewei Technologies, Inc. | Resource Optimization and Reuse in Resource Constrained Environment |
US11237950B2 (en) | 2020-01-02 | 2022-02-01 | International Business Machines Corporation | Quantifying tester sentiment during a development process |
US11327747B2 (en) | 2020-09-08 | 2022-05-10 | International Business Machines Corporation | Sentiment based offline version modification |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040226015A1 (en) * | 2003-05-09 | 2004-11-11 | Leonard Ozgur C. | Multi-level computing resource scheduling control for operating system partitions |
US20050222819A1 (en) * | 2004-04-02 | 2005-10-06 | International Business Machines Corporation | System, method, and service for efficient allocation of computing resources among users |
US20070240161A1 (en) * | 2006-04-10 | 2007-10-11 | General Electric Company | System and method for dynamic allocation of resources in a computing grid |
US20080222647A1 (en) * | 2005-10-03 | 2008-09-11 | Neil Allen Taylor | Method and system for load balancing of computing resources |
US20090183168A1 (en) * | 2008-01-16 | 2009-07-16 | Satoshi Uchida | Resource allocation system, resource allocation method and program |
US7640547B2 (en) * | 2002-02-08 | 2009-12-29 | Jpmorgan Chase & Co. | System and method for allocating computing resources of a distributed computing system |
US20100131959A1 (en) * | 2008-11-26 | 2010-05-27 | Spiers Adam Z | Proactive application workload management |
US20100169893A1 (en) * | 2008-12-31 | 2010-07-01 | Dell Products L.P. | Computing Resource Management Systems and Methods |
US8156502B1 (en) * | 2007-06-08 | 2012-04-10 | Hewlett-Packard Development Company, L.P. | Computer resource allocation as a function of demand type |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8326965B2 (en) * | 2001-05-03 | 2012-12-04 | Hewlett-Packard Development Company, L.P. | Method and apparatus to extract the health of a service from a host machine |
US6694308B2 (en) * | 2001-07-23 | 2004-02-17 | Hewlett-Packard Development Company, L.P. | System and method for user adaptive software interface |
AU2002360691A1 (en) * | 2001-12-19 | 2003-07-09 | Netuitive Inc. | Method and system for analyzing and predicting the behavior of systems |
US20040103193A1 (en) * | 2002-11-08 | 2004-05-27 | Pandya Suketu J. | Response time and resource consumption management in a distributed network environment |
US8332263B2 (en) * | 2002-12-19 | 2012-12-11 | Oracle International Corporation | System and method for configuring scoring rules and generating supplier performance ratings |
US20040176991A1 (en) * | 2003-03-05 | 2004-09-09 | Mckennan Carol | System, method and apparatus using biometrics to communicate dissatisfaction via stress level |
US7266726B1 (en) * | 2003-11-24 | 2007-09-04 | Time Warner Cable Inc. | Methods and apparatus for event logging in an information network |
US7774349B2 (en) * | 2003-12-11 | 2010-08-10 | Microsoft Corporation | Statistical models and methods to support the personalization of applications and services via consideration of preference encodings of a community of users |
US8347268B2 (en) * | 2006-10-13 | 2013-01-01 | Infosys Limited | Automated performance monitoring |
US7984139B2 (en) * | 2006-12-22 | 2011-07-19 | Business Objects Software Limited | Apparatus and method for automating server optimization |
US9524296B2 (en) * | 2006-12-29 | 2016-12-20 | Teradata Us, Inc. | Managing events in a computing environment |
US7890318B2 (en) * | 2007-05-23 | 2011-02-15 | Xerox Corporation | Informing troubleshooting sessions with device data |
US8082218B2 (en) * | 2007-08-21 | 2011-12-20 | Microsoft Corporation | Analysis of software conflicts |
US8510137B2 (en) * | 2007-12-17 | 2013-08-13 | Smooth Productions Inc. | Communications system and method for serving electronic content |
US8932368B2 (en) * | 2008-04-01 | 2015-01-13 | Yougetitback Limited | Method for monitoring the unauthorized use of a device |
US20100082516A1 (en) * | 2008-09-29 | 2010-04-01 | Microsoft Corporation | Modifying a System in Response to Indications of User Frustration |
US20100121954A1 (en) * | 2008-11-13 | 2010-05-13 | Zheng Yang | Communication Method and System Using User ID-Based Domain Name |
US20100257533A1 (en) * | 2009-04-01 | 2010-10-07 | Soluto Ltd | Computer applications scheduler |
-
2010
- 2010-03-31 US US12/751,494 patent/US20100257533A1/en not_active Abandoned
- 2010-03-31 US US12/751,631 patent/US20100257527A1/en not_active Abandoned
- 2010-03-31 US US12/751,600 patent/US8812909B2/en active Active
- 2010-03-31 US US12/751,544 patent/US9135104B2/en active Active
-
2014
- 2014-07-03 US US14/323,757 patent/US9652317B2/en active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7640547B2 (en) * | 2002-02-08 | 2009-12-29 | Jpmorgan Chase & Co. | System and method for allocating computing resources of a distributed computing system |
US20040226015A1 (en) * | 2003-05-09 | 2004-11-11 | Leonard Ozgur C. | Multi-level computing resource scheduling control for operating system partitions |
US20050222819A1 (en) * | 2004-04-02 | 2005-10-06 | International Business Machines Corporation | System, method, and service for efficient allocation of computing resources among users |
US20080222647A1 (en) * | 2005-10-03 | 2008-09-11 | Neil Allen Taylor | Method and system for load balancing of computing resources |
US20070240161A1 (en) * | 2006-04-10 | 2007-10-11 | General Electric Company | System and method for dynamic allocation of resources in a computing grid |
US8156502B1 (en) * | 2007-06-08 | 2012-04-10 | Hewlett-Packard Development Company, L.P. | Computer resource allocation as a function of demand type |
US20090183168A1 (en) * | 2008-01-16 | 2009-07-16 | Satoshi Uchida | Resource allocation system, resource allocation method and program |
US20100131959A1 (en) * | 2008-11-26 | 2010-05-27 | Spiers Adam Z | Proactive application workload management |
US20100169893A1 (en) * | 2008-12-31 | 2010-07-01 | Dell Products L.P. | Computing Resource Management Systems and Methods |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100257543A1 (en) * | 2009-04-01 | 2010-10-07 | Soluto Ltd | Identifying frustration events of users using a computer system |
US9135104B2 (en) | 2009-04-01 | 2015-09-15 | Soluto Ltd | Identifying frustration events of users using a computer system |
US9652317B2 (en) | 2009-04-01 | 2017-05-16 | Soluto Ltd | Remedying identified frustration events in a computer system |
US8522137B1 (en) * | 2011-06-30 | 2013-08-27 | Zynga Inc. | Systems, methods, and machine readable media for social network application development using a custom markup language |
WO2016159949A1 (en) * | 2015-03-30 | 2016-10-06 | Hewlett Packard Enterprise Development Lp | Application analyzer for cloud computing |
US10282171B2 (en) | 2015-03-30 | 2019-05-07 | Hewlett Packard Enterprise Development Lp | Application analyzer for cloud computing |
Also Published As
Publication number | Publication date |
---|---|
US20140325269A1 (en) | 2014-10-30 |
US20100257533A1 (en) | 2010-10-07 |
US20100257185A1 (en) | 2010-10-07 |
US9135104B2 (en) | 2015-09-15 |
US20100257543A1 (en) | 2010-10-07 |
US9652317B2 (en) | 2017-05-16 |
US8812909B2 (en) | 2014-08-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20100257527A1 (en) | Computer applications classifier | |
US8694574B2 (en) | Optimized settings in a configuration database with boundaries | |
US8607018B2 (en) | Memory usage configuration based on observations | |
US8656135B2 (en) | Optimized memory configuration deployed prior to execution | |
EP3285170B1 (en) | Application profiling job management system, program, and method | |
Bilal et al. | Towards automatic parameter tuning of stream processing systems | |
US20130074092A1 (en) | Optimized Memory Configuration Deployed on Executing Code | |
Warneke et al. | Exploiting dynamic resource allocation for efficient parallel data processing in the cloud | |
US9436589B2 (en) | Increasing performance at runtime from trace data | |
Grewe et al. | OpenCL task partitioning in the presence of GPU contention | |
US9280391B2 (en) | Systems and methods for improving performance of computer systems | |
US20120324454A1 (en) | Control Flow Graph Driven Operating System | |
US20130298112A1 (en) | Control Flow Graph Application Configuration | |
US8667019B2 (en) | Placement goal-based database instance consolidation | |
WO2017204955A2 (en) | Methods, systems and apparatus to improve cluster efficiency | |
Tang et al. | Dynamic memory-aware scheduling in spark computing environment | |
Liu et al. | Scientific workflow partitioning in multisite cloud | |
Sarkar et al. | Feedback-guided analysis for resource requirements in large distributed system | |
Tzenetopoulos et al. | Interference-aware workload placement for improving latency distribution of converged HPC/Big Data cloud infrastructures | |
Pinel et al. | A review on task performance prediction in multi-core based systems | |
Rellermeyer et al. | The coming age of pervasive data processing | |
Wada et al. | A power management framework with simple DSL for automatic power-performance optimization on power-constrained HPC systems | |
Bux | Scientific Workflows for Hadoop | |
Sadeghian | Improving the efficiency of serverless applications through reducing allocation footprint | |
Kashyap et al. | Big data at hpc wales |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: SOLUTO LTD, ISRAEL Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:DVIR, TOMER;GREEN, ISHAY;BAKI, OMER;AND OTHERS;REEL/FRAME:024180/0692 Effective date: 20100321 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |