IP Library Granted Patent US 8,375,394
Granted Patent B2
US 8,375,394 · App. 13/008,177 · Granted Feb 12, 2013

Techniques to automatically classify processes

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,375,394
App. No.
13/008,177
Granted
Feb 12, 2013
Kind
B2
Abstract

Techniques for automatically classifying processes are presented. Processes executing on a multicore processor machine are evaluated to determine shared resources between the processes, excluding shared system resources. A determination is then made based on the evaluation to group the processes as a single managed resource within an operating system of the multicore processor machine.

Claims (27)

1. A method implemented in a non-transitory machine-readable storage medium and processed by one or more processors configured to perform the method, comprising:

detecting a first process and a second process executing on a multicore processor machine based on resources being used by the first process and the second process;

gathering metrics for the first process and the second process based on the resources, wherein gathering further includes collecting the metrics for: a first percentage reflecting a percentage of shared resources between the first process and the second process, and a second percentage reflecting a percentage of the shared system resources used between the first process and the second process, wherein collecting further includes computing a third percentage reflecting an average percentage of shared resources between every process on the multicore processor machine;

comparing the metrics against one or more threshold values that exclude those resources that are shared system resources shared between the first process and the second process, wherein comparing further includes computing a first result as the third percentage subtracted from the first percentage and computing a second result as the second percentage subtracted from the first percentage; and

determining to group the first process and the second process together within an operating system of the multicore process machine when the metrics are above or equal to the one or more threshold values, wherein determining further includes grouping the first process and the second process together when the first result is greater than or equal to a first threshold value and the second result is greater than or equal to a second threshold value.

2. The method of claim 1 further comprising, identifying a third process forked off of the first process during execution of the first process and re-evaluating additional metrics for the third process in view of the one or more threshold values to determine whether the third process is to remain independent or be grouped with the first and second processes.

3. The method of claim 1 , wherein detecting further includes identifying the first process and the second process based on one or more conditions detected when the first process and the second process execute within the multicore processor machine.

4. The method of claim 3 , wherein identifying further includes evaluating the one or more conditions as: same files being accessed by both the first process and the second process where the same files exclude shared system files, same inter-process communication (IPC) resources being used by both the first process and the second process where the same IPC resources exclude shared system IPC resources, and/or identifying the first process and the second process as originating from a same parent process.

5. The method of claim 1 , wherein determining further includes identifying the resources as hardware resources of the multicore processor machine.

6. The method of claim 1 , wherein determining further includes identifying the resources as software resources of the multicore processor machine.

7. A method implemented in a non-transitory machine-readable storage medium and processed by one or more processors configured to perform the method, comprising:

detecting multiple processes executing on a multicore processor machine;

resolving system metrics for shared system resources between the multiple processes;

acquiring shared metrics for shared non-system resources between the multiple processes, wherein acquiring further includes collecting the shared metrics for: a first percentage reflecting a percentage of shared resources between a first process and a second process, and a second percentage reflecting a percentage of the shared system resources used between the first process and the second process, wherein collecting further includes computing a third percentage reflecting an average percentage of shared resources between every process on the multicore processor machine; and

grouping some or all of the multiple processes together when the shared metrics, excluding the system metrics, are equal to or greater than a threshold value by computing a first result as the third percentage subtracted from the first percentage and computing a second result as the second percentage subtracted from the first percentage and grouping the first process and the second process together when the first result is greater than or equal to a first threshold value and the second result is greater than or equal to a second threshold value.

8. The method of claim 7 , wherein detecting further includes monitoring the shared non-system resources to detect access by the multiple processes during execution of the multiple processes.

9. The method of claim 7 , wherein resolving further includes acquiring the system metrics as a percentage of shared system resources used by the multiple processes during execution on the multicore processor machine.

10. The method of claim 7 , wherein acquiring further includes obtaining the shared metrics as percentages of shared non-system resources, each percentage representing a percent of shared non-system resources used between a particular pair of the multiple processes.

11. The method of claim 7 , wherein grouping further includes instructing an operating system of the multicore processor machine to treat each grouping of the multiple processes as a single process for purposes of resource allocation and resource management within the multicore processor machine.

12. The method of claim 7 , wherein grouping further includes creating multiple different groupings from the multiple processes, each grouping including two or more of the multiple processes.

13. The method of claim 7 further comprising, gathering additional metrics and determining whether any additional groupings are to occur when a particular process is forked off from one of the multiple processes.

14. A multi-processor implemented system, comprising:

a multicore processor machine having multiple processors and an operating system executing thereon; and

the multicore processor machine configured with and to execute a processor manager;

the processor manager configured to identify groupings of processes executing within the operating system based on shared resources detected for each grouping and excluding shared system resources detected within each grouping, wherein shared system resources have metrics collected, the metrics for: a first percentage reflecting a percentage of shared resources between a first process and a second process, and a second percentage reflecting a percentage of the shared system resources used between the first process and the second process, and computing a third percentage reflecting an average percentage of shared resources between every process on the multicore processor machine, and wherein a first result is computed as the third percentage subtracted from the first percentage and a second result is computed as the second percentage subtracted from the first percentage and then grouping the first process and the second process together when the first result is greater than or equal to a first threshold value and the second result is greater than or equal to a second threshold value.

15. The system of claim 14 , wherein the processor manager is configured to instruct the operating system to treat each grouping as a single resource for purposes of resource management and resource allocation.

16. The system of claim 14 , wherein the process manager is configured to identify the groupings based on collection and evaluation of metrics in view of one or more predefined threshold values.

Assignments (11)
RELEASE OF SECURITY INTEREST REEL/FRAME 035656/0251 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: BORLAND SOFTWARE CORPORATION; ATTACHMATE CORPORATION; NETIQ CORPORATION; MICRO FOCUS (US), INC.; MICRO FOCUS SOFTWARE INC. (F/K/A NOVELL, INC.)
Reel/Frame 062623/0009 →
RELEASE OF SECURITY INTEREST REEL/FRAME 044183/0718 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: MICRO FOCUS LLC (F/K/A ENTIT SOFTWARE LLC); BORLAND SOFTWARE CORPORATION; MICRO FOCUS (US), INC.; SERENA SOFTWARE, INC; ATTACHMATE CORPORATION; MICRO FOCUS SOFTWARE INC. (F/K/A NOVELL, INC.); NETIQ CORPORATION
Reel/Frame 062746/0399 →
RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME - 042388/0386 AND REEL/FRAME - 044183/0577 Recorded Mar 18, 2019
From: JPMORGAN CHASE BANK, N.A.
To: SUSE LLC
Reel/Frame 048628/0221 →
RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME - : 044183/0718 Recorded Mar 18, 2019
From: JPMORGAN CHASE BANK, N.A.
To: SUSE LLC
Reel/Frame 048628/0436 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 20, 2019
From: MICRO FOCUS SOFTWARE INC.
To: SUSE LLC
Reel/Frame 048379/0548 →
CORRECTIVE ASSIGNMENT TO CORRECT THE TO CORRECT TYPO IN APPLICATION NUMBER 10708121 WHICH SHOULD BE 10708021 PREVIOUSLY RECORDED ON REEL 042388 FRAME 0386. ASSIGNOR(S) HEREBY CONFIRMS THE NOTICE OF SUCCESSION OF AGENCY. Recorded Jul 26, 2018
From: BANK OF AMERICA, N.A., AS PRIOR AGENT
To: JPMORGAN CHASE BANK, N.A., AS SUCCESSOR AGENT
Reel/Frame 048793/0832 →
SECURITY INTEREST Recorded Oct 11, 2017
From: ATTACHMATE CORPORATION; BORLAND SOFTWARE CORPORATION; NETIQ CORPORATION; MICRO FOCUS (US), INC.; MICRO FOCUS SOFTWARE, INC.; ENTIT SOFTWARE LLC; ARCSIGHT, LLC; SERENA SOFTWARE, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 044183/0718 →
NOTICE OF SUCCESSION OF AGENCY Recorded May 2, 2017
From: BANK OF AMERICA, N.A., AS PRIOR AGENT
To: JPMORGAN CHASE BANK, N.A., AS SUCCESSOR AGENT
Reel/Frame 042388/0386 →
CHANGE OF NAME Recorded Sep 13, 2016
From: NOVELL, INC.
To: MICRO FOCUS SOFTWARE INC.
Reel/Frame 040020/0703 →
SECURITY INTEREST Recorded May 13, 2015
From: MICRO FOCUS (US), INC.; BORLAND SOFTWARE CORPORATION; ATTACHMATE CORPORATION; NETIQ CORPORATION; NOVELL, INC.
To: BANK OF AMERICA, N.A.
Reel/Frame 035656/0251 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 18, 2011
From: KARTHIKESAN, NIKANTH
To: NOVELL, INC.
Reel/Frame 025714/0156 →