IP Library Granted Patent US 8,732,718
Granted Patent B2
US 8,732,718 · App. 13/755,585 · Granted May 20, 2014

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,732,718
App. No.
13/755,585
Granted
May 20, 2014
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 (37)

1. A method, comprising:

detecting, on one or more processors, a first process and a second process based on resources being used by both the first process and the second process;

gathering, on the one or more processors and in response to detecting the first and second processes, metrics for resources used by the first process and the second process in a multicore processing architecture;

collecting, on the one or more processors and in response to gathering the metrics, the metrics for each of the resources as a percentage of that resource being consumed by the first process and the second process;

comparing, on the one or more processors and in response to the collecting of the metrics, each percentage against one or more threshold values that exclude the resources shared between the first and second processes from the resources for which the metrics are gathered to assist in determining whether to group the first and second processes together within the multicore architecture;

grouping, on the one or more processors and in response to the comparing each percentage, the first process and the second process together based on the metrics evaluated for usage of the resources by the first and second processes within the multicore processing architecture when the metrics are above or equal to the one or more threshold values; and

re-gathering, on the one or more processors, the metrics when a third process is detected as being forked off or spawned from either the first process or the second process in view of the one or more threshold values for purposes of determining whether the third process is to remain an independent process or is to be grouped with the first and second processes.

2. The method of claim 1 , wherein gathering further includes identifying the multicore architecture as a cloud processing environment.

3. The method of claim 1 , wherein gathering further includes evaluating heuristics to dynamically determine types of the metrics to gather.

4. The method of claim 3 , wherein evaluating further includes using conditions defined in the heuristics that are dynamically resolved while the first and second processes are executing in the multicore architecture.

5. The method of claim 1 , wherein grouping further includes treating the first and second processes as a single logical resource within the multicore architecture once grouped together.

6. The method of claim 1 further comprising, processing, via the one or more processors, the method within a kernel of an operating system used for the multicore architecture.

7. The method of claim 1 further comprising, processing, via the one or more processors, the method as a plug-in application to an operating system used for the multicore architecture.

8. A method, comprising:

detecting, via one or more processors, a set of processes executing within a cloud processing environment;

selectively collecting, via the one or more processors and in response to detecting the set of processes, metrics for resources used by the set of processes executing within the cloud processing environment;

collecting, on the one or more processors and in response to gathering the metrics, the metrics for each of the resources as a percentage of that resource being consumed by the set of processes;

comparing, on the one or more processors and in response to the collecting of the metrics, each percentage against one or more threshold values that exclude the resources shared between the set of processes from the resources for which the metrics are gathered to assist in determining whether to group the set of processes together within the cloud processing environment; grouping, via the one or more processors and in response to the comparing each percentage, all or some of the processes into one or more groups when the metrics are above or equal to the one or more threshold values;

gathering, on the one or more processors, additional metrics and determines whether any additional groupings are to occur when a particular process is forked off of or spawned from one of the set of processes in view of the one or more threshold values for purposes of determining whether the particular process is to remain an independent process or is to be grouped with the set of processes, and

logically treating, via the one or more processors, each group as a single logical process within the cloud processing environment.

9. The method of claim 8 , wherein selectively collecting further includes excluding shared system resources from the resources for which the metrics are collected.

10. The method of claim 8 , wherein selectively collecting further includes dynamically evaluating conditions associated with the set of processes and the resources to selectively collect the metrics.

11. The method of claim 8 , wherein selectively collecting further includes evaluating log files associated with the resources to gather at least some of the metrics.

12. The method of claim 8 , wherein grouping further includes creating a single group.

13. The method of claim 8 , wherein grouping further includes creating two or more groups.

14. A multi-processor implemented system, comprising:

multiple processors representing a cloud processing environment having a multicore architecture with an operating system executing thereon; and

a memory having a processor manager that executes on the multiple processors;

the processor manager configured to selective group a set of processes that execute in the cloud processing environment based on usage of shared resources, wherein each group created is treated as a single logical process within the cloud processing environment;

detecting, via the multiple processors, the set of processes executing within the cloud processing environment;

selectively collecting, via the multiple processors and in response to detecting the set of processes, metrics for resources used by the set of processes executing within the cloud processing environment;

collecting, on the multiple processors and in response to gathering the metrics, the metrics for each of the resources as a percentage of that resource being consumed by the set of processes;

comparing, on the multiple processors and in response to the collecting of the metrics, each percentage against one or more threshold values that exclude the resources shared between the set of processes from the resources for which the metrics are gathered to assist in determining whether to group the set of processes together within the cloud processing environment;

grouping, via the multiple processors and in response to the comparing each percentage, all or some of the processes into one or more groups when the metrics are above or equal to the one or more threshold values; and

gathering, on the multiple processors, additional metrics and determines whether any additional groupings are to occur when a particular process is forked off of or spawned from one of the set of processes in view of the one or more threshold values for purposes of determining whether the particular process is to remain an independent process or is to be grouped with the set of processes.

15. The system of claim 14 , wherein the processor manager is configured to exclude shared system resources from the shared resources.

16. The system of claim 14 , wherein the process manager is configured to dynamical determine types of metrics to gather to determine the usage of the shared resources by the set of processes.

Assignments (10)
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 →