Senior Fitness - Exercise and Nutrition for Aging Men and Women
FREE Article Feed for your website.
Home Ownership Magazine
Party Planning Information
Article Marketing Resources
Bio-Medical Research Article Database
Informative Articles on Life, Love and Happiness
Tutorials on Business to Writing
Famous Quotes from Famous People
Song Lyric Information
New US Patent Information
Comprehensive List of Content by Category
Online Auctions and Shopping Related Articles
Article Search
Most Recent Articles
Title: Ball cage
Patent Number: 6,922,897 Issued on 08/02/2005 to Adams,   et al.

Title: Image-recording device for a printing form, having an array of VCSEL light sources
Patent Number: 6,798,438 Issued on 09/28/2004 to Beier,   et al.

Title: Fixed and roving wireless system monitors
Patent Number: 7,164,908 Issued on 01/16/2007 to Dowling

Title: Arrangements for self-measurement of I/O timing
Patent Number: 6,898,741 Issued on 05/24/2005 to Muljono,   et al.

Title: Overvoltage protection circuits that utilize capacitively bootstrapped variable voltages
Patent Number: 6,798,629 Issued on 09/28/2004 to Proebsting

Title: Power frequency electromagnetic field compensation system
Patent Number: 6,798,632 Issued on 09/28/2004 to Holmes,   et al.

Title: Trip device comprising an improved man-machine interface and circuit breaker comprising such a trip device
Patent Number: 6,798,630 Issued on 09/28/2004 to Del Vecchio,   et al.

Title: Digital transceiver with multi-rate processing
Patent Number: 6,778,599 Issued on 08/17/2004 to Doron

Title: Control processor dynamically loading shadow instruction register associated with memory entry of coprocessor in flexible coupling mode
Patent Number: 6,865,663 Issued on 03/08/2005 to Barry

Title: Intake module having integrally housed ECU
Patent Number: 6,910,456 Issued on 06/28/2005 to Umemoto,   et al.

Title: Predictive processing method in a semiconductor processing facility
Patent Number: 6,766,285 Issued on 07/20/2004 to Allen, Jr.,   et al.

Title: Weighing apparatus
Patent Number: 6,809,270 Issued on 10/26/2004 to Fujita

Title: Internal combustion engine comprising a hydraulic system
Patent Number: 6,854,431 Issued on 02/15/2005 to Gaessler,   et al.

Title: Scarecrow gene, promoter and uses thereof
Patent Number: 6,809,234 Issued on 10/26/2004 to Benfey,   et al.

Title: Biopsy needle
Patent Number: 7,131,951 Issued on 11/07/2006 to Angel

Title: Biopsy needle
Patent Number: 7,131,951 Issued on 11/07/2006 to Angel

Title: Method for controlling a circumferential register in a web-fed rotary press
Patent Number: 6,766,737 Issued on 07/27/2004 to Glockner,   et al.

Title: Method and apparatus for measuring spinal distortions
Patent Number: 7,131,952 Issued on 11/07/2006 to Dickholtz, Sr.,   et al.

Title: Method and apparatus for measuring spinal distortions
Patent Number: 7,131,952 Issued on 11/07/2006 to Dickholtz, Sr.,   et al.

Title: Liquid crystal display having compensation capacitor
Patent Number: 7,142,261 Issued on 11/28/2006 to Chiang,   et al.

Title: Interchangeable flexible die
Patent Number: 6,766,733 Issued on 07/27/2004 to Collins

Title: Substituted cycloalkyl P1' hepatitis C virus inhibitors
Patent Number: 6,878,722 Issued on 04/12/2005 to Campbell,   et al.

Title: Multiaxis punch device
Patent Number: 6,766,723 Issued on 07/27/2004 to Yasoda,   et al.

Title: Image pickup device
Patent Number: 7,142,241 Issued on 11/28/2006 to Mukai

Title: Automatic self cleaning bladder relief system and failsafe
Patent Number: 7,131,964 Issued on 11/07/2006 to Harvie

Title: Automatic self cleaning bladder relief system and failsafe
Patent Number: 7,131,964 Issued on 11/07/2006 to Harvie

Title: Household appliance using water, namely, a washing machine, with improved device for reducing the water hardness
Patent Number: 6,766,812 Issued on 07/27/2004 to Gadini

Title: Semiconductor laser device
Patent Number: 6,768,755 Issued on 07/27/2004 to Inoue,   et al.

Title: Apparatus and method for performing symbolic resolution of modules using static representations of a trace
Patent Number: 6,766,511 Issued on 07/20/2004 to Berry,   et al.

Title: Polymer coated capacitor films
Patent Number: 6,798,642 Issued on 09/28/2004 to Decker,   et al.

Title: Gas discharge laser, method of operating a gas discharge laser, and use of a sintered filter
Patent Number: 6,798,814 Issued on 09/28/2004 to Geiger,   et al.

Title: Rotation sensor
Patent Number: 6,860,159 Issued on 03/01/2005 to Jin,   et al.

Title: Methods and apparatus for encoding LDPC codes
Patent Number: 6,961,888 Issued on 11/01/2005 to Jin,   et al.

Title: Lithographic apparatus, programmable patterning structure, device manufacturing method, and device manufactured thereby
Patent Number: 7,141,340 Issued on 11/28/2006 to Bleeker

Title: Method and apparatus for measurement using piezoelectric sensor
Patent Number: 6,989,623 Issued on 01/24/2006 to Zeighami

Title: Multi-mode mobile communications device with continuous mode transceiver and methods therefor
Patent Number: 6,957,081 Issued on 10/18/2005 to Leyh,   et al.

Title: Electrical wiring device with multiple types of wire terminations
Patent Number: 7,140,887 Issued on 11/28/2006 to Poh,   et al.

Title: System and method for annotation on a moving image
Patent Number: 7,119,814 Issued on 10/10/2006 to Meron,   et al.

Title: Dual-function three-axis positioning system
Patent Number: 7,084,533 Issued on 08/01/2006 to Botos,   et al.

Title: Hard bodied high capacity catch basin filtration system
Patent Number: 6,872,029 Issued on 03/29/2005 to Allard,   et al.

Title: Article information providing system and mediate apparatus
Patent Number: 7,020,682 Issued on 03/28/2006 to Homma,   et al.

Title: Floor hockey puck
Patent Number: 7,140,989 Issued on 11/28/2006 to Poruchny

Title: Method of allowing multiple, hardware embedded configurations to be recognized by an operating system
Patent Number: 7,020,723 Issued on 03/28/2006 to Beaudoin,   et al.

Title: Method for producing alkanolamines
Patent Number: 7,119,231 Issued on 10/10/2006 to Frauenkron,   et al.

Title: Digital watermark screening and detection strategies
Patent Number: 6,768,809 Issued on 07/27/2004 to Rhoads,   et al.

Title: Single data line sensing scheme for TCCT-based memory cells
Patent Number: 7,006,398 Issued on 02/28/2006 to Yoon,   et al.

Title: Quick-connecting coupler for hoses, pipes and faucets
Patent Number: 7,140,645 Issued on 11/28/2006 to Cronley

Title: Multi-layer golf ball
Patent Number: 7,140,978 Issued on 11/28/2006 to Nealon,   et al.

Title: Radio data communication apparatus and radio data communication method
Patent Number: 6,970,710 Issued on 11/29/2005 to Kikuchi

Title: Recessed luminaire having a dome-shaped reflector
Patent Number: 6,883,940 Issued on 04/26/2005 to Grajetzky,   et al.

Title: Interpolating a pixel from an intermediate line of a field
Patent Number: 7,142,249 Issued on 11/28/2006 to Hahn,   et al.

Title: Method for performing a camera function in a mobile communication terminal
Patent Number: 7,119,827 Issued on 10/10/2006 to Kang

Title: Bearing assembly equipped with rotation sensor to determine rotation and position of rotating element
Patent Number: 6,956,367 Issued on 10/18/2005 to Fujikawa,   et al.

Title: Solid electrolytic capacitor and method for producing the same
Patent Number: 6,790,384 Issued on 09/14/2004 to Konuma,   et al.

Title: Disposable diaper
Patent Number: 6,890,327 Issued on 05/10/2005 to Suzuki,   et al.

Title: Case tab-lock slitting and flap sealer in combination with a continuous radial motion case packing apparatus and method
Patent Number: 6,883,296 Issued on 04/26/2005 to Hartness,   et al.

Title: Jar lid opener
Patent Number: 6,935,207 Issued on 08/30/2005 to Mazza

Title: Multiple discharge-servo curve control method and device for an electrical discharge machine
Patent Number: 6,941,187 Issued on 09/06/2005 to Lu,   et al.

Title: Solar cell unit with removable layer
Patent Number: 6,809,252 Issued on 10/26/2004 to Winkeler

Title: Tire with improved endurance
Patent Number: 6,766,840 Issued on 07/27/2004 to Pereira,   et al.

Title: Receiving circuit, mobile terminal with receiving circuit, and method of receiving data
Patent Number: 6,768,769 Issued on 07/27/2004 to Hokao

Title: Gas laser oscillator
Patent Number: 6,768,761 Issued on 07/27/2004 to Hongu,   et al.

Title: System and method for noise reduction in thermodilution for cardiac measurement
Patent Number: 7,131,950 Issued on 11/07/2006 to Hamilton

Title: System and method for noise reduction in thermodilution for cardiac measurement
Patent Number: 7,131,950 Issued on 11/07/2006 to Hamilton

Title: Active pixel sensor array reset
Patent Number: 7,142,240 Issued on 11/28/2006 to Hua,   et al.

Title: CDMA receiver, path detection method, and recording medium on which path detection control program is recorded
Patent Number: 6,768,729 Issued on 07/27/2004 to Ohsuge

Title: Field adjustable pilot guard
Patent Number: 6,766,820 Issued on 07/27/2004 to Hoss

Title: Binaural synchronization
Patent Number: 6,768,802 Issued on 07/27/2004 to Baechler

Title: Vehicle seat air conditioning system
Patent Number: 6,871,696 Issued on 03/29/2005 to Aoki,   et al.

Title: Valve mechanism with a variable valve opening cross-section
Patent Number: 6,766,778 Issued on 07/27/2004 to Hammer

Title: Cooling module with axial blower and pressure regulated cross-flow fan
Patent Number: 6,766,774 Issued on 07/27/2004 to Kussmann

Title: Fluid conduction utilizing a reversible unsaturated siphon with tubarc porosity action
Patent Number: 6,766,817 Issued on 07/27/2004 to da Silva

Title: System and method for molecular optical emission
Patent Number: 7,115,916 Issued on 10/03/2006 to Avouris,   et al.

Title: Semiconductor device and semiconductor device producing system
Patent Number: 7,115,903 Issued on 10/03/2006 to Isobe,   et al.

Title: Administrating system of image forming apparatus and image forming apparatus
Patent Number: 6,999,191 Issued on 02/14/2006 to Yamada,   et al.

Method and graphical user interface for creating a configuration file used to allocate computer system resources among workloads Number:7,159,184 from the United States Patent and Trademark Office (PTO) owispatent

Home    Author Login    Submit Article    Article Search    Add Your Link    Edit Your Link    Contact Us    Advertising    Disclaimer

   

 
Web LinkGrinder.com

Top Breaking News
     Greek, Cypriot Leaders Resume Unification Talks in Nicosia by Nathan Morley
     Indonesia Tobacco Sales Grow, Raising Health Fears
     South Korea Allows Top Defector to Travel Overseas by VOA News

Title: Method and graphical user interface for creating a configuration file used to allocate computer system resources among workloads

Abstract: A method is disclosed for creating a configuration file for use with a resource allocator that allocates computer system resources, such as CPU resources, among workloads operating on the system. A software application referred to as a "wizard" generates a graphical user interface (GUI) having multiple linked input screens to prompt a user step-by-step to enter specifications for the workloads. The GUI displays a prompt for a user to define a workload and to configure a resource allocation policy for the defined workload. The CPU resource allocation policy specifies how resources are allocated to the defined workload. The wizard receives the requested specifications from a user input device. Based on the received specifications, a configuration file is created and may be used by a resource allocator to allocate resources among workloads according to the specifications.

Patent Number: 7,159,184 Issued on 01/02/2007 to Ullah,   et al.


Inventors: Ullah; Syed S. (Irving, TX), Murphy; Michael D. (Allen, TX)
Assignee: Hewlett-Packard Development Company, L.P. (Houston, TX)
Appl. No.: 10/207,874
Filed: July 31, 2002


Current U.S. Class: 715/762 ; 711/170; 715/771; 715/779; 715/966; 715/970; 717/121
Current International Class: G06F 3/01 (20060101); G06F 12/02 (20060101); G06F 17/40 (20060101); G06F 3/048 (20060101)
Field of Search: 717/104-105,121,109-110,1 710/10,29 715/762,771,779,966,970 711/170


References Cited [Referenced By]

U.S. Patent Documents
5428791 June 1995 Andrew et al.
5924101 July 1999 Bach et al.
6053951 April 2000 McDonald et al.
6266658 July 2001 Adya et al.
6295531 September 2001 Bae et al.
6341361 January 2002 Basto et al.
6396516 May 2002 Beatty
2004/0015949 January 2004 Taylor

Other References

Nick et al., OS/390 Newsletter, Aug. 2000, Issue 3, pp. 1-118. cited by examiner .
WSC Performance Team (IBM), Workload Management Overview, Feb. 2002, pp. 1-75. cited by examiner .
WSC Performance Team (IBM), WLM Operational Considerations, Jul. 2000, pp. 1-25. cited by examiner.

Primary Examiner: Bayerl; Raymond J.
Assistant Examiner: Pillai; Namitha

Claims



The invention claimed is:

1. A method of creating a configuration file for use with a resource allocator that allocates central processing unit (CPU) resources among workloads operating on a computer system, the method comprising: displaying, as part of a graphical user interface (GUI), a prompt for specifications for workloads operating on the computer system, which specifications comprise, for each workload, a definition and a CPU resource allocation policy; receiving the specifications from a user input device; and creating a configuration file for allocating the CPU resources to each of the workloads based on the CPU resource allocation policies associated with each of the defined workloads, wherein the prompt for specifications includes a prompt for defining a workload and for assigning a user to the defined workload.

2. The method of claim 1, further comprising allocating CPU resources to the defined workloads based on the configuration file, using a resource allocator to dynamically allocate the CPU resources to the workloads while the workloads operate on the computer system.

3. The method of claim 1, wherein the step of displaying a prompt comprises displaying a plurality of linked input screens as part of the GUI, which input screens guide a user through steps of a process that creates the configuration file.

4. The method of claim 3, wherein the step of displaying the input screens comprises displaying on each of the input screens: an input portion that prompts the user to enter the specifications; a guide portion that displays the steps in the process and indicates a current step for which the user is prompted in the input portion; and an explanatory portion that displays information related to the specifications requested in the input portion.

5. The method of claim 4, wherein the guide portion displays steps comprising: a step for defining the workload; a step for configuring the CPU resource allocation policy for the defined workload; and a step for assigning the user to the defined workload; and wherein the step of displaying the input screens comprises: displaying a screen related to the step for defining a workload; displaying a screen related to the step for configuring the CPU resource allocation policy; and displaying a screen related to the step for assigning a user.

6. The method of claim 4, wherein the step of displaying the input screens comprises displaying the plurality of linked input screens that prompt the user for specifications of the CPU resource allocation policy, which plurality of input screens prompt the user to specify either a metric-based policy or a non-metric-based policy.

7. The method of claim 6, wherein the step of receiving the specifications comprises receiving specifications of the CPU resource allocation policy in response to the displaying of the linked input screens that prompt the user for specifications of the CPU allocation policy, and further comprising, if the user has selected a metric-based policy, displaying one or more screens of a metric sub-wizard, which sub-wizard prompts the user to identify a metric that is used to allocate the CPU resources.

8. A computer-implemented graphical user interface (GUI) for prompting a user to enter specifications used to create a configuration file for allocating computer system resources among a plurality of workloads, the GUI comprising: a plurality of linked input screens associated with a plurality of steps in a process for creating a configuration file used to allocate central processing unit (CPU) resources among a plurality of workloads executing on a computer system, which input screens display prompts for specifications for allocation of the CPU resources, each of the input screens comprising an input portion that prompts the user to enter the specifications; a guide portion that displays the steps in the process, and indicates a current step for which the input portion prompts the user to enter the specifications; and an explanatory portion that displays information related to the current step, wherein the input screens comprise one or more input screens that receive specifications for defining a workload and associating the defined workload with a CPU resource allocation policy and the input screens further comprise one or more input screens that receive specifications to associate a user with the workload.

9. The GUI of claim 8, further comprising: an introductory screen linked to at least one of the input screens, which introductory screen displays information related to the process for creating the configuration file; and a final screen linked to at least one of the input screens, which final screen displays information related to use of the configuration file.

10. The GUI of claim 8, further comprising a help screen linked to each of the input screens, wherein the help screen comprises a guide portion that displays topics related to the steps in the process and an information portion that displays information related to a topic selected in the guide portion.

11. The GUI of claim 8, further comprising a plurality of sub-wizard screens associated with a sub-wizard application, which sub-wizard screens display prompts for specifications related to at least one of the prompts displayed on at least one of the input screens, wherein the sub-wizard screens are linked to one or more of the input screens.

12. The GUI of claim 11, wherein the sub-wizard application is a metric sub-wizard that displays prompts for associating a CPU resource allocation policy for one of the workloads with a metric.

13. The GUI of claim 8, wherein the input screens further comprise one or more input screens that receive specifications associating the defined workload with a metric-based CPU resource allocation policy.

14. The GUI of claim 13, wherein the metric-based CPU resource allocation policy is selected from the group consisting of a service level objective based allocation policy and a shares-per-metric based allocation policy.

15. A method of creating a configuration file for use with a resource allocator to allocate computer system resources among a plurality of workloads operating on the system, the method comprising: displaying, as part of a graphical user interface (GUI) on a computer display, a prompt to identify a workload; displaying, as part of the GUI, a prompt to assign an executable file to the identified workload; displaying, as part of the GUI, a prompt to assign a priority level to the identified workload; displaying, as part of the GUI, a prompt to assign a resource allocation policy to the identified workload; displaying, as part of the GUI, a prompt to assign the workload with a user; receiving specifications for the identified workload from a user input device; creating a configuration file based on the received specifications; displaying the configuration file on the display; and storing the configuration file in a memory.

16. The method of claim 15, wherein the computer system resources are CPU resources.

17. The method of claim 15, wherein the step of displaying a prompt to select a resource allocation policy comprises displaying a prompt to select a resource allocation policy selected from the group comprising a shares-per-metric-based policy, a service level objective based policy, a fixed-entitlement policy, and a CPU-usage policy.

18. The method of claim 15, further comprising displaying, in response to a selection made by a user input device interacting with the GUI, a plurality of screens of a sub-wizard, which screens guide a user through entry of one of the specifications.

19. A computer-readable storage medium having stored thereon computer-executable instructions for performing a method of creating a configuration file for use with a resource allocator that allocates computer system resources to workloads, the method comprising: prompting a user to define a workload; prompting the user to assign a CPU allocation policy to the workload; prompting the user to edit or delete existing workloads; prompting the user to assign one or more users to the workload; receiving specifications from a user input device in response to each of the steps of prompting; and creating a configuration file based on the received specifications, which configuration file is used by a resource allocator to allocate CPU resources to the workload.

20. The medium of claim 19, wherein each of the steps of prompting comprises prompting using a graphical user interface (GUI) having a plurality of linked input screens, each of the input screens comprising: an input portion that receives the specifications from the user input device; a guide portion that displays a steps in a process of creating the configuration file; an explanatory portion that displays information related to the specifications received in the input portion; one or more buttons, responsive to the user input device, that allow the user to traverse the input screens; and a help button, responsive to the user input device, that displays a help screen comprising a guide portion that displays a list of help topics and an information portion that displays information related to a topic selected from the list.

21. The medium of claim 19, wherein the step of prompting the user to assign a CPU allocation policy comprises: prompting the user to specify the CPU policy as either a metric-based policy or a non-metric based policy; and if the user specifies a metric-based policy, prompting the user to select a metric using a metric sub-wizard comprising a plurality of screens.

22. A computer system that allocates central processing unit (CPU) resources among a plurality of workloads operating on the system, comprising: a processor; a memory connected to the processor; a display connected to the processor; a user input device connected to the processor; a resource allocator connected to the processor, that allocates CPU resources to a plurality of workloads operating on the system, wherein the resource allocator comprises a configuration file; an execution file that accesses the configuration file and causes the CPU resources to be allocated according to specifications in the configuration file; and a wizard that generates a graphical user interface (GUI) displayed on the display, which GUI includes a plurality of linked input screens that prompt a user for specifications related to the workloads, the specifications including a definition of a workload and a CPU resource allocation policy for the defined workload, wherein the wizard receives the specifications from the user input device in response to the displaying of the input screens, and wherein the wizard creates the configuration file based on the received specifications and the GUI prompts the user to specify a CPU resource allocation policy selected from the group consisting of metric or non-metric based policies, and wherein the GUI further comprises a metric sub-wizard that displays a plurality of screens for selecting a metric source, at least one of the sub-wizard screens being linked to at least one of the input screens.

23. The computer system of claim 22, wherein the wizard adds textual remarks in the configuration file when the wizard creates the configuration file, and wherein the GUI includes a display screen that displays text of the configuration file, which screen is linked to at least one of the input screens.

24. The computer system of claim 22, wherein the GUI prompts the user to associate each defined workload with a user.

25. A computer system that allocates central processing unit (CPU) resources among a plurality of workloads operating on the system, comprising: a processor; a memory connected to the processor; a display connected to the processor; a user input device connected to the processor; a resource allocator connected to the processor, that allocates CPU resources to a plurality of workloads operating on the system, wherein the resource allocator comprises a configuration file; an execution file that accesses the configuration file and causes the CPU resources to be allocated according to specifications in the configuration file; and a wizard that generates a graphical user interface (GUI) displayed on the display, which GUI includes a plurality of linked input screens that prompt a user for specifications related to the workloads, the specifications including a definition of a workload and a CPU resource allocation policy for the defined workload, wherein the wizard receives the specifications from the user input device in response to the displaying of the input screens, and wherein the wizard creates the configuration file based on the received specifications and the GUI prompts the user to associate each defined workload with a user.
Description



TECHNICAL FIELD

The technical field relates generally to software for managing allocation of computer system resources, and more particularly to a graphical user interface used to create a configuration file for such software.

BACKGROUND

For computer systems operating multiple workloads, it is desirable to specify how computer system resources, such as central processing unit (CPU) resources are allocated to the workloads. As used herein, a "workload" refers to any process or group of processes that accesses computer system resources. For example, a number of workloads may operate on a server, performing functions for a number of users at remote terminals connected to the server via a network. Each of the workloads may require a certain amount of system resources to execute. It is therefore desirable for a user to specify parameters for allocating resources.

Various software applications (resource allocators) are known for allocating system resources among workloads. Such existing applications include the Workload Manager.TM. (WLM) product manufactured by Hewlett-Packard Company. Existing resource allocators, such as the WLM product, use a configuration file to specify how resources are allocated. To specify parameters for existing workload resource allocation, users of existing systems must understand the syntax of the resource allocator in order to create the configuration file. This requires that the user, such as a system administrator, spend time not only specifying parameters for workload resource allocation, but also learning the program syntax. In this sense, many existing systems are not user-friendly.

SUMMARY

A method is disclosed for creating a configuration file for use with a resource allocator that allocates computer system resources, such as CPU resources, among workloads operating on the system. A software application referred to as a "wizard" implements a graphical user interface (GUI) having multiple linked input screens that prompt a user step-by-step to enter specifications for the workloads. The GUI displays a prompt for a user to define a workload and to configure a resource allocation policy for the defined workload. The CPU resource allocation policy specifies how resources are allocated to the defined workload. The wizard receives the requested specifications from a user input device. Based on the received specifications, a configuration file is created and may be used by a resource allocator to allocate resources among workloads according to the specifications.

A computer-implemented GUI is also disclosed for prompting a user to enter specifications used to create a configuration file, which configuration file may be used to allocate computer system resources, such as CPU resources, among multiple workloads. The GUI includes multiple linked input screens that guide a user through steps in a process of creating the configuration file. The input screens include an input portion that prompts the user to enter the specifications. The input screens also include a guide portion that displays the steps of the process and indicates a current step for which specifications are requested in the input portion. The input screens also include an explanatory portion that displays information related to the current step.

A method is also disclosed for creating a configuration file for use with a resource allocator to allocate computer system resources among workloads operating on the computer system. The method uses a GUI to display prompts for specifications to be entered by the user using a user input device. The GUI includes multiple linked screens that guide the user through a process of creating the configuration file. The GUI prompts the user to identify a workload, to assign one or more executable files to the workload, and to assign a priority to the workload. The GUI also prompts the user to select a resource allocation policy for the workload. The resource allocation policy governs how computer system resources are allocated to the identified workload. The specifications are received from the user input device in response to the prompts, and a configuration file is generated based on the received information. The configuration file is displayed on the display and is stored in a memory, where the configuration file may be accessed by the resource allocator to allocate resources among the workloads.

DESCRIPTION OF THE DRAWINGS

The detailed description will refer to the following drawings, wherein like numerals refer to like elements, and wherein:

FIG. 1 shows a block diagram of a computer system that implements a graphical user interface (GUI) to create a configuration file for workload resource allocation;

FIG. 2 is a block diagram of another embodiment of a computer system, which includes terminals connected to a server by a network;

FIG. 3 is a flow chart of a method of allocating CPU resources among workloads using a GUI;

FIG. 4 is a flow chart of one implementation of the step of prompting the user for specifications for resource allocations;

FIG. 5 is a flow chart of one embodiment of the steps of prompting the user to define a workload and prompting the user to configure CPU resource allocations for the defined workload;

FIG. 6 is an example introductory screen of the GUI;

FIGS. 7A 7F are example input screens of the GUI used to define a workload;

FIGS. 8A 8G are example input screens of the GUI used to configure a CPU allocation policy;

FIGS. 9A B are example input screens of the GUI used to prompt the user to define additional workloads or edit or delete existing workloads;

FIG. 10 is an example input screen of the GUI used to assign users to workloads;

FIG. 11 is an example input screen of the GUI used to view and save the configuration file created by the wizard;

FIG. 12 is an example configuration screen of the GUI displaying the configuration file created using the wizard;

FIG. 13 is an example final screen of the GUI;

FIGS. 14A 14D are example screens of a metric sub-wizard of the GUI; and

FIGS. 15A 15B are example help screens of the GUI.

DETAILED DESCRIPTION

FIG. 1 shows a block diagram of a computer system 10 that implements a graphical user interface (GUI) 60 to create a configuration file 90 for workload resource allocation. The computer system 10 has a processor 20 that receives signals from a user input device 30 and outputs data to a display 50. In use, the processor 20 executes workloads 40 43. As used herein a "workload" refers to any process or group of processes operating on the computer system 10 and using system resources. The workloads 40 43 may be stored, for example, in memory (not shown). Workload execution by the processor 20 is controlled by signals received by the processor 20 from the user input device 30. The display 50 displays the GUI 60 to assist the user in creating the configuration file 90 used by the system 10 to allocate resources among workloads 40 43.

In use, the workloads 40 43 use central processing unit (CPU) resources. As used herein, "CPU resources" include the processor 20, and any other processors (not shown) available to the workloads 40 43 operating on the system 10. In a system 10 executing multiple workloads 40 43 using one or more processors (e.g. 20), the CPU resources may be allocated to the workloads 40 43 as time slices, whereby each workload 40 43 is given access to the CPU resources for a duration specified by the user. The CPU resources are allocated among workloads 40 43 by a resource allocator 70, which may be implemented using the processor 20. The resource allocator 70 includes an execution file 80 that causes the CPU resources to be allocated among the workloads 40 43 according to specifications set by the user. The execution file 80 accesses the configuration file 90 containing the specifications set by the user, and allocates the CPU resources based on the specifications.

To create the configuration file 90, the user specifies parameters for execution of the workloads 40 43, using the user input device 30 to interact with the GUI 60 shown on the display 50. The GUI 60 includes a plurality of linked display screens (not shown) that provide step-by-step assistance to the user for specifying resource allocation. The screens may be traversed using the input device 50 to select on-screen options to move forward or backward in the configuration process. The GUI 60 is implemented by a software application, referred to as a "wizard" 95. As used herein, a wizard 95 includes any application that generates the GUI 60 for prompting the user to enter specifications used to create the configuration file 90. The GUI 60 allows the user to create the configuration file 90 and displays the configuration file 90 on the display 50 for the user to view before the configuration file 90 is implemented by the resource allocator 70. The resource allocator 70 may be stored in memory (not shown).

FIG. 2 shows another embodiment of a computer system 11 having a plurality of terminals 100 104 connected via a network 12, to a server 22. The network 12 may be, for example, a local area network (LAN) or a wide area network (WAN). In the embodiment of FIG. 2, a resource allocator 71 is stored in memory 23 of the server 22 where the resource allocator 71 is accessed by a processor 21, which processor 21 is also part of the server 22. The resource allocator 71 includes an execution file 81 for implementing the allocations specified by the user. The execution file 81 accesses a configuration file 91 created by a user using the GUI 61 generated on a display 51 portion of the terminal 100 by a wizard 96.

In the embodiment of FIG. 2, workloads 44 47 are executed by the processor 21 of the server 22 for use by one or more terminals 100 104. One of the terminals, such as the terminal 100, includes the display 51 on which the GUI 61 is displayed. The terminal 100 also includes a user input device (not shown) that is used to interact with the GUI 61 to create the configuration file 91. The configuration file 91 created by the user through the GUI 61 controls the allocation of CPU resources to the workloads 44 47, which may be used by the terminals 100 104.

FIG. 3 shows a flow chart of a method of allocating CPU resources among workloads using a GUI (60 in FIG. 1). The method 400 begins 402 by prompting the user for specifications 410 for workload resource allocation using the GUI (60 in FIG. 1). Specifications are received 420 by the wizard (95 in FIG. 1) from the user input device (30 in FIG. 1). A configuration file (90 in FIG. 1) is created 430 based on the received specifications. System resources are allocated 440 among workloads (40 43 in FIG. 1) based on the configuration file (90 in FIG. 1), and the method ends 442.

FIG. 4 shows a flow chart of one implementation of the step for prompting the user for specifications for resource allocations 410. The step 410 begins 403 by prompting the user to define a workload 411. The GUI (60 in FIG. 1) then prompts the user to configure CPU resource allocations for the defined workload 412, using the GUI (60 in FIG. 1).

The example of FIG. 4 allows the user to define workloads or to edit or delete previously defined workloads using the wizard (95 in FIG. 1). The GUI (60 in FIG. 1) prompts the user to define any additional workloads or to edit or delete existing workloads 413. Based on a response from the user, the wizard (95 in FIG. 1) determines 414 whether there are additional workloads to be defined or edited/deleted by the user, or if the user has selected the option to proceed to the next screen. If there are additional workloads ("Add" branch at block 414), the wizard (95 in FIG. 1) returns to the beginning 403 of the step 410 and again prompts the user to define a new workload 411.

If the user has selected an option to edit or delete an existing workload ("Edit/Delete" branch at 414), the GUI (60 in FIG. 1) prompts the user to select an existing workload to edit or delete 417. The GUI (60 in FIG. 1) then prompts the user to either edit or delete the selected workload 419. If the user selects the edit option, the wizard (95 in FIG. 1) then loads the data for the selected workload 418, and returns to the beginning 403 of the step 410 and again prompts the user to define the selected workload 411. In one embodiment, when the user is editing a selected workload, data previously entered for the selected workload is displayed on the GUI (60 in FIG. 1) so that the user can view the data that has already been specified, in deciding how to edit the workload. If the user selects the option to delete the selected workload ("Delete" branch at block 419), the definition for the selected workload is deleted 420, and the wizard (95 in FIG. 1) determines whether there are any defined workloads remaining 421. If there are no more defined workloads, then the wizard (95 in FIG. 1) returns to the beginning 403 of the step 410 and again prompts the user to define a workload 411. If there are any defined workloads remaining ("yes" branch at block 421), then the example shown in FIG. 4 again prompts the user to select one of the defined workloads for editing or deleting 417.

If the user selects the option to continue with the process of creating the configuration file ("continue" branch at block 414), rather than creating additional workloads or editing/deleting defined workloads, then the GUI (60 in FIG. 1) prompts the user to assign users to the workloads 415, in the embodiment shown. In some implementations, it may be desirable for the system (10 in FIG. 1) to automatically recognize that particular workloads (40 43 in FIG. 1) are associated with a particular user. For example, the system (10 in FIG. 1) may reallocate resources to workloads (40 43 in FIG. 1) when a particular user begins using certain workloads. The step 410 is complete 416 in the embodiment shown in FIG. 4 after the users are assigned. Although the example of FIG. 4 illustrates a flow chart of the process, the GUI (60 in FIG. 1) may include "back" or "forward" selection options that allow the user to traverse the flow chart of FIG. 4 forward or backward to enter data requested.

FIG. 5 shows a flow chart of one embodiment of the steps of prompting the user to define a workload 411 and prompting the user to configure CPU resource allocations for the defined workload 412. In the embodiment of FIG. 5, the GUI (60 in FIG. 1) begins 404 and prompts the user to identify the workload 451, as the initial step in defining a workload 411. The GUI (60 in FIG. 1) then prompts the user to assign executable files to the identified workload 452. The GUI (60 in FIG. 1) then prompts the user to assign a priority level to the identified workload 453. In the embodiment shown, each workload (40 43 in FIG. 1) is assigned a priority value. CPU resources are allocated by the resource allocator (70 in FIG. 1) based on the workloads' relative priorities, subject to other CPU resource allocation policies specified for the workload, as described herein.

As part of the step for prompting the user to configure CPU resource allocation for the defined the workload 412, the embodiment of FIG. 5 first prompts the user to select a CPU resource allocation policy 454. The CPU resource allocation policy governs how CPU resources are allocated to the defined workload. In the embodiment shown in FIG. 5, the GUI (60 in FIG. 1) allows the user to select either a metric-based 460 or a non-metric-based 470 CPU resource allocation policy. As used herein, the term "metric" refers to any measure of operation of a workload (40 43 in FIG. 1) that may be expressed as a numerical value. For example, a metric may be specified for a completion time of a process or a step in a process performed by a workload (40 43 in FIG. 1). Another example of a metric is the number of users logged into the system (10 in FIG. 1) who are accessing the workload (40 43 in FIG. 1). Metrics may be predefined by the resource allocator (70 in FIG. 1) in one embodiment. If the user selects a metric-based policy, the GUI (60 in FIG. 1) prompts the user with a choice between either a shares-per-metric policy 462 or a service level object policy 467. If the user selects a shares-per-metric 462, then the GUI (60 in FIG. 1) prompts the user for a metric name 464 and prompts the user to enter the number of shares per metric 466 to be allocated to the workload (40 43 in FIG. 1). By way of example, in the case of a metric based on a number of users logged into the system (10 in FIG. 1), the user might select a shares-per-metric policy for the workload (40 43 in FIG. 1) so that the CPU resources allocated to the workload (40 43 in FIG. 1) increase as the number of users increases. The user might, for example, specify a value of three shares of CPU resources for each user. In the example of FIG. 5, unless the user selects a fixed-entitlement policy (block 474 described herein), the GUI (60 in FIG. 1) prompts the user to enter maximum and minimum limits on CPU resource allocation for the workload 478. The minimum and maximum limits may be used to ensure that the CPU allocation is between the limits, notwithstanding other allocation policies. The method described in FIG. 5 then ends 480.

If the user selects a service level objective, metric-based policy 467, the GUI (60 in FIG. 1) prompts the user for a name of the metric 468 and prompts the user for a comparison value and a comparison operator 469. For example, the user may be allowed to select whether a specified metric is greater than or less than a specified comparison value. An example of a service level objective metric is execution time for a specified process or transaction performed by a workload (40 43 in FIG. 1). In such an example, the GUI (60 in FIG. 1) may prompt the user to specify a maximum transaction time, and resources may be allocated by the resource allocator (70 in FIG. 1) to attempt to keep the transaction time below the specified value. In use, the resource allocator (70 in FIG. 1) monitors the transaction time and reallocates CPU resources dynamically to attempt to ensure that the transaction time is less than the specified value. The GUI (60 in FIG. 1) then prompts the user to enter maximum and minimum limits on CPU resource allocation for the workload 478, and the method ends 480 in this example.

In the example of FIG. 5, if the user selects a non-metric-based policy 470, the GUI (60 in FIG. 1) allows the user to select from a fixed-entitlement policy 472 or CPU-usage policy 476. A fixed-entitlement policy allocates a specified amount of CPU resources to the workload (40 43 in FIG. 1). If the user selects a fixed-entitlement policy 472, the GUI (60 in FIG. 1) prompts the user for an entitlement value 474. This entitlement is then allocated to the specified workload. The method shown in FIG. 5 then ends 480.

If the user selects the CPU-usage policy 476, then the GUI (60 in FIG. 1) prompts the user for minimum and maximum CPU entitlement values 478, and CPU resources are allocated to the workload within the specified range, based on the availability of CPU resources, the percentage of allocated CPU resources actually used by the workload, and the workload's priority to the resources relative to other workloads. A CPU-usage policy monitors the workload's actual usage of CPU resources and allocates CPU resources to the workload based on the actual usage. For example, if a workload uses substantially all of the resources allocated to the workload, then a CPU-usage policy may increase the resources allocated. Conversely, if a workload uses only a small portion of the allocated resources, then a CPU-usage policy may decrease the amount of resources allocated to the workload, until such time as the workload requires additional resources. One specific implementation uses threshold values to increase or decrease allocation of resources. For example, if actual usage exceeds 75% of allocated resources, then the CPU-usage policy increases allocation for the workload. Conversely, if actual usage is less than 50% of allocated resources, then the CPU-usage policy decreases the workload's allocation. The step 412 ends 480 after specifications are received by the wizard (95 in FIG. 1) for the selected CPU resource allocation policy.

FIGS. 6 15B show example screens of the GUI (60 in FIG. 1) used to implement the method of creating the configuration file (90 in FIG. 1), as described with respect to FIG. 5. The GUI (60 in FIG. 1) may be implemented in a variety of computer and operating systems, including a Unix-based system or a Microsoft Windows-based system. The screens are linked such that the user can traverse from one screen to another by making a selection with the user input device (30 in FIG. 1). In the embodiment shown in FIGS. 6 15B, the user can traverse the screens forward or backward, one screen at a time, using forward and back buttons, described herein. The input portion of the screen, described herein, displays a prompt for specifications of data related to the selected entry.

FIG. 6 shows a introduction screen for the GUI (60 in FIG. 1). The introduction screen 102 provides general background information to the user regarding the process of creating a configuration file (90 in FIG. 1). The screen 102 also allows the user to select a "cancel" button 108 to exit the wizard (95 in FIG. 1), and allows the user to select "OK" button 106 to proceed to the next screen in the configuration process. As used herein, a "button" refers to any portion of the GUI (60 in FIG. 1) that, when selected by the user input device, causes the wizard (95 in FIG. 1) to perform a function. For example, selection of the "OK" button 106 causes the wizard (95 in FIG. 1) to display the next screen in the GUI (60 in FIG. 1).

FIG. 7A shows an input screen 110 of the GUI (60 in FIG. 1) corresponding to the step of prompting the user to define a workload (block 451 in FIG. 5). The input screens (e.g. 110) guide the user step-by-step through the process of creating the configuration file (90 in FIG. 1). The input screen 110 shown in FIG. 7A includes a guide portion 210, an explanatory portion 220, and an input portion 230. The input portion 230 displays information about the configuration process and/or receives specifications entered by the user. The example screen 110 shown in FIG. 7A prompts the user to identify a workload (40 43 in FIG. 1) by providing a name in a text box 232. The example of FIG. 7A also allows the user to indicate whether the workload (40 43 in FIG. 1) is for an Oracle Database Server or an MC/ServiceGuard Package, or both, in a selection portion 234. The Oracle Database Server.TM. manufactured by Oracle Corporation and the Multi-Computer (MC)/ServiceGuard Package.TM. manufactured by Hewlett-Packard Company are products commonly used by some users and are therefore included for users' convenience, in this example. Users often use an Oracle database as a workload and often use the MC/ServiceGuard.TM. to manage computer system resources, so information for these specific products is incorporated into the GUI (60 in FIG. 1) in one example. The example shown in FIG. 7A allows the user to specify these common products to incorporate the functionality of these examples into the configuration file (90 in FIG. 1). When a user selects one of these commonly used workloads, the wizard (95 in FIG. 1) automatically retrieves known configuration information for the workloads, such as the executable files and their paths on the system (10 in FIG. 1). Other implementations may allow the user to define a workload (40 43 in FIG. 1) by reference to other applications used in connection with the workload, or may omit reference to any particular products. In the example of FIG. 7A, the user has entered "finance" as the workload name in the text box 232 and has associated the "finance" workload with the Oracle Database Server in the selection portion 234.

The guide portion 210 of the input screen 110 outlines the configuration file creation process for the user. In the example screen 110 of FIG. 7A, the guide portion 210 shows configuration steps 212 of the process for creating the configuration file (90 in FIG. 1). In the example shown, the steps 212 include defining a workload, configuring a CPU resource allocation/control policy for the defined workload, defining additional workloads, assigning users to the workloads, and viewing and saving the resulting configuration file. The configuration steps 212 are shown in sequential order in the embodiment of FIG. 7A and include sub-steps 214 displayed below one or more current steps, in a tree structure. The screen 110 shown in FIG. 7A relates to the "Identify" sub-step of the "Define Workload" step. The guide portion 210 indicates the current step 216 (the "Identify" sub-step) by highlighting it among the sub-steps 214. In the examples shown in FIGS. 7A 7F and 8A 8G, the current step (e.g., 216) is indicated using bold and underlining in the font. In other examples, various indicators may be used to refer to the current step 216. In the example of FIG. 7A, the guide portion 210 uses a tree structure and expands the display to show the current step 216 and the other sub-steps 214 below the "Identify" step.

The explanatory portion 220 of the input screen 110 provides additional information related to the current step 216. In the example shown, the explanatory portion 220 displays for the user what information is requested in the input portion 230. The explanatory portion 220 has a title bar 221 indicating a title for the current step 216.

The screen 110 shown in FIG. 7A also includes a status bar 120 that indicates the name 121 of the workload that is currently being defined and the status 122 of the workload as "new" or "existing." In the example shown in FIG. 7A, the status bar 120 indicates that the workload ("finance") is yet undefined and the status is new, because the user is still in the process of defining the workload. Once the workload has been defined--for example if the user is editing specifications for an existing workload--the status bar 120 reflects that the status 122 of the workload is "existing" rather than new.

The screen 110 also includes a help button 112. The help button 112 appears throughout the input screens (e.g., 110) and is linked to a help screen (not shown). By selecting the help button 112, the user may immediately access a help screen (not shown) that provides further assistance with the wizard (95 in FIG. 1). In one example, the help screen (not shown) may appear in a separate dialog box or "window" on the display (50 in FIG. 1) so that the user can view the help screen (not shown) and the current input screen (e.g., 110) at the same time.

The screen 110 also includes a cancel button 118 that allows the user to exit the wizard (95 in FIG. 1) and cancel the process of creating a configuration file (90 in FIG. 1). The screen 110 also includes "back" and "next" buttons 114, 116 that allow the user to traverse the input screens forward or backward during the configuration process. Because the screen (110 in FIG. 7A) shows the first step in the process in this example, the back button 114 may be unavailable and in one embodiment (not shown) may be indicated by a lightened "back" title on the button 114. When the user has entered the requested specifications in the input portion 230, the user selects the next button 116 using the user input device (30 in FIG. 1) to proceed to the following screen in the GUI (60 in FIG. 1).

In one embodiment, the wizard (95 in FIG. 1) verifies the input data before proceeding to the following screen in the GUI (60 in FIG. 1), to ensure that the user has entered a valid entry. For example, if the current screen (e.g. 110) includes a text box that requires a numerical value within a specified range, the wizard (95 in FIG. 1) may verify that the user has entered a numerical value, rather than other text, and that the value is within the specified range. The GUI (60 in FIG. 1) may display a error message, for example in a separate dialog box (not shown), if incorrect data has been entered.

FIGS. 7B 7E show example input screens of the GUI (60 in FIG. 1) corresponding to the step of prompting the user to assign executable files (block 452 in FIG. 5) to the workload identified in FIG. 7A. FIG. 7B shows an input screen 124 in the GUI (60 in FIG. 1), which is displayed after the user has selected the next button 116 in the previous screen (110 in FIG. 7A). In FIG. 7B, the current step 218 is the "Assign Executables" step 218, and is indicated in the guide portion 210 as the current step 218 using highlighting or a similar indication. Because the user associated the current workload ("finance") with the Oracle Database Server in the selection portion 234 of the input screen 110 in FIG. 7A, the input portion 230 of the screen 124 in FIG. 7B prompts the user for information related specifically to the Oracle instance, including an "Oracle Home" and an "Oracle SID" in respective text boxes 236, 240. The title bar 221 of the explanatory portion 220 reads, "Specify Oracle Information," and the explanatory portion 220 contains text explaining that the user is requested to specify Oracle instance information associated with the workload being defined. In the specific example shown in FIG. 7B involving an Oracle Database Server, the explanatory portion 220 displays text indicating that the user should enter the ORACLE_HOME and ORACLE_SID values for the workload.

A "browse" button 238 allows the user to view a list of directories on the computer system (10 in FIG. 1) to identify the executable file or files and directory or directories that should be associated with the current workload ("finance"). In the example of FIG. 7B, the user has indicated that the path for the Oracle Home is "/home/ullah/Oracle" by entering this in the text box 236. The user has labeled this Oracle SID as "test." In the status bar 120 at the bottom of the screen 124, the workload is identified as "finance," as labeled on the previous screen (110 in FIG. 7A) and its status is new.

FIG. 7C shows another screen 126 in the GUI (60 in FIG. 1), which is displayed after the user has selected the next button 116 in the previous screen (124 in FIG. 7B). The screen 126 shown in FIG. 7C is another screen used to assign executable files to the current workload ("finance"), and the current step 218 remains "Assign Executables." The title bar 221 of the explanatory portion 220 reads "Assign Executables (Optional)." The input portion 230 includes a text box 242 for entering an executable path, along with a browse button 244 that allows the user to browse directories on the system (10 in FIG. 1), if desired. A second text box 246 displays selected paths 247 that have been associated with the current workload, and "add" and "remove" buttons 248, 249 allow the user to add or remove executables assigned to the workload ("finance"). In the example shown, because the user has previously associated the workload with the Oracle Database Server (see FIG. 7A), the path name "/home/ullah/Oracle/bin/oracle (ora*test)" is automatically entered as a path 247 in the text box 246, because this path 247 is associated with the Oracle Database Server. The text box 242 allows the user to specify additional paths for the workload ("finance"), if desired.

FIG. 7D shows the screen 126 of the GUI (60 in FIG. 1) shown in FIG. 7C, after the user has entered an additional executable path in the text box, "/home/ullah/Scripts/changed_stderr.pl." After entering the path name in the executable path text box 242, the user may associate the entered path with the workload ("finance") by selecting the "Add" button 248. FIG. 7E shows the screen 126 of the GUI (60 in FIG. 1) shown in FIGS. 7C and 7D, after the user has entered the executable path name in the executable path text box 242 and has associated the path with the workload ("finance") using the Add button 248. The path name entered in the text box 242 during the previous screen is now displayed as a path name 250 in the second text box 246 beneath the existing executable path 247, which was already associated with the workload ("finance"). In the example shown in FIG. 7E, the path name entered in the text box 242 is associated with a perl interpreter. In this example, the wizard (95 in FIG. 1) automatically identifies the perl interpreter associated with the executable path name entered by the user, and displays the perl script interpreter path in the text box 246, as shown by the text "/usr/contrib/bin/perl," in this example. Also in this example, the executable path name as entered in the executable path box 242 is also displayed in the second text box 246, in parentheses.

FIG. 7F shows another screen 166 used by the GUI (60 in FIG. 1) for the current step 251 of prioritizing the defined workload ("finance"). The example screen shown in FIG. 7F corresponds to the step of prompting the user to assign a priority level to the identified workload (block 453 in FIG. 5). As indicated by the text shown in the explanatory portion 220, the user is prompted to prioritize the current workload ("finance") by giving it a numerical value from 100 (low priority) to 1 (high priority) using a slider 282. The selected value is then displayed in a text box 284, or alternatively, the user can simply type the value in the text box 284. The input portion 230 also includes a reset button 286 for resetting the value of the workload priority to a default value, which is 50 in one example. In the example of FIG. 7F, the input portion 230 also includes a text box 288 that displays other workloads and their priorities so that the user can view the priorities of other workloads defined on the system (10 in FIG. 1) while setting the priority of the current workload ("finance"). In one example, the priority value may be used to allocate resources among workloads such that higher priority workloads are allocated CPU resources before lower priority workloads, subject to other specifications governing workload resource allocation.

FIGS. 8A 8G show example screens of the GUI (60 in FIG. 1) corresponding to the step of prompting the user to specify a CPU resource allocation policy (block 412 in FIGS. 4 and 5). FIG. 8A shows an example screen 132 that prompts the user to select a type of policy for the current workload ("finance"). The example screen 132 shown in FIG. 8A is one embodiment of the step of prompting the user for a CPU resource allocation policy (block 454 in FIG. 5). As with the previous example screens, the configuration steps 212 are shown in the guide portion 210 of the screen 132. The current step 219 is indicated as such in the guide portion 210. In the example FIG. 8A, the user has just begun the step of configuring the CPU allocations/control policy, so the guide portion 210 has not yet displayed any sub-steps beneath the second step of configuring CPU resource allocation/control policy. Because the user has completed the first step of defining the workload ("finance"), the sub-steps (e.g., 214 in FIG. 7B) are no longer displayed beneath the define workload step in the configuration steps 212 of the guide portion 210.

In FIG. 8A, the title bar 221 and text in the explanatory portion 220 have been updated to refer to the current step 219. In the input portion 230, selection boxes 252 prompt the user to select a CPU resource allocation/control policy. This policy will govern how CPU resources are allocated to the current workload ("finance"). In the example in FIG. 8A, the input portion 230 prompts the user to select either a metric-based CPU resource allocation policy or a non-metric-based policy. A metric-based allocation policy allocates resources to the workload based on operating conditions during execution of the workloads. A metric may be a pre-defined parameter used by the computer system (10 in FIG. 1) to monitor performance of workload execution. By way of example, a metric may be a number of users logged into the system (10 in FIG. 1) or accessing the workload (40 43 in FIG. 1), or a metric may relate to a performance-based goal of a process or transaction performed by the workload.

If the user selects a non-metric-based policy then, in this example, the user is given the option of selecting either a fixed-entitlement policy or a CPU-usage policy, as also indicated by the corresponding steps 470, 472, 476 in FIG. 5. If the user selects a metric-based policy, then the user may select either a shares-per-metric policy or a service level objective policy in this example, as also shown in corresponding steps 460, 462, 467 in FIG. 5. In the example shown in FIG. 8A, the user has selected a metric-based policy and has selected a shares-per-metric policy, as indicated by the selection shown in the selection portion 252.

FIGS. 8B D show example screens prompting the user for specifications for a shares-per-metric allocation policy (blocks 464, 466 in FIG. 5). FIG. 8B shows an example screen 134 in the GUI (60 in FIG. 1), after the user has selected the shares-per-metric, metric-based CPU allocation policy in the previous screen 132 shown in FIG. 8A, and has selected the next button (116 in FIG. 8A) to proceed. An example of a shares-per-metric allocation might include a metric based on a number of users logged into the computer system (10 in FIG. 1) or a number of logged-in users who are assigned to the specified workload ("finance"). In this example, it might be desirable to vary the workload's allocation of CPU resources based on the number of users, so that the workload is allocated proportionately more CPU resources as the number of users accessing the workload increases.

Sub-steps 302 have been expanded in the configuration steps 212 of the guide portion 210 of the screen 134, below the second step of configuring CPU allocation/control policy. The sub-steps 302 include the current step 300, which refers to a shares-per-metric selection. In the input portion 230 a text box 254 requests the user to enter a metric name. A "select metric" button 256 allows the user to browse through a listing of such metrics used by the computer system (10 in FIG. 1). In one example, the "select metric" button 256 invokes a metric sub-wizard, described herein with respect to FIGS. 14A 14D, to select a metric. A second text box 258 allows the user to specify the number of shares of CPU resources to be allocated to the workload on a per-metric basis. After entering the metric name and the number of shares-per-metric in the respective text boxes 254, 258, the user proceeds to the next screen using the next button 116. FIG. 8C shows substantially the same example screen 134 shown in FIG. 8B, after the user has selected the metric name "met1" for the text box 254 and has entered the number of shares-per-metric as 1.2 in the text box 258. The metric name "met1" may be entered using the "select metric" box 256 to involve a metric sub-wizard of the GUI (60 in FIG. 1), described herein with respect to FIGS. 14A 14D.

FIG. 8D shows a screen 150 in the GUI (60 in FIG. 1), also used as part of the configure CPU allocation/control policy step. The screen 150 relates to the current step 306 of specifying CPU limits for a shares-per-metric policy. In the sub-step 306 shown in FIG. 8D, the user is directed to specify minimum and maximum values for CPU allocation for the current workload as a percent of the total available resources, that is, from 1 to 100. The minimum and maximum values specified in the example of FIG. 8D are used to further limit allocation of CPU resources to a range. In the example of FIG. 8D, sliders 260, 264 are used to select CPU limits, and the selected limits are displayed in boxes 262, 266 in the input portion 230 of the screen 150. After the user has selected the minimum and maximum CPU limits, the user proceeds by selecting the "commit" button 115 in the lower portion of the screen 150, with the user input device (30 in FIG. 1).

FIGS. 8E 8G show example screens 170, 178, 190 of the GUI (60 in FIG. 1), for configuring alternative CPU resource allocation policies. FIG. 8E shows an example screen 170 used by the GUI (60 in FIG. 1), which relates to the current step 172 of specifying a non-metric-based fixed-entitlement allocation of CPU resources for the workload. The example of FIG. 8E is one implementation of the step of prompting the user for a fixed-entitlement value (block 474 in FIG. 5). In this example, the user has reached the screen 170 shown in FIG. 8E by selecting the non-metric feature of a CPU allocation policy and has specified a fixed entitlement policy for the workload. A slider 174 located in the input portion 230 of the screen allows the user to select a fixed-entitlement value ranging 1 to 100. The selected entitlement is displayed in a text box 176, and in the example shown in FIG. 8E, the user has selected the value of 15 as the CPU entitlement. After selecting a CPU entitlement value, the user may select the commit button 115 to proceed to the next screen in the configuration process.

FIG. 8F shows an example screen 178 of the GUI (60 in FIG. 1) relating to a current step 180 of configuring the CPU allocation policy to a non-metric specification, based on usage limits. The screen shown in FIG. 8F is one example of an implementation of the step of prompting the user to enter minimum and maximum CPU usage values (block 478 in FIG. 5). The input portion 230 of the screen 178 includes sliders 182, 186 for specifying minimum and maximum CPU values, on scales expressed as a percentage of total CPU resources, ranging from 1 to 100. Text boxes 184, 188 show numerical values corresponding to the sliders 182, 186. In the example shown in FIG. 8F, the user has selected a minimum entitlement of 10 and a maximum entitlement of 60. These values will be entered the configuration file (90 in FIG. 1) and will be used by the resource allocator (70 in FIG. 1) to attempt to allocate resources within the specified range, depending upon the availability of CPU resources, the workload's actual usage, and according to the workload's priority relative to other workloads.

FIG. 8G shows an example screen 190 used by the GUI (60 in FIG. 1) relating to a current step 502 of configuring a CPU allocation policy to a metric-based policy associated with a service level objective. A service level objective, metric-based policy is a policy that attempts to allocate the workload sufficient CPU resources to achieve a goal, referred to as a service level objective. An example of a service level object, metric-based policy is a policy that monitors a metric corresponding to an average time required by the workload to complete a process or transaction. It might be desirable to ensure that a process undertaken by the workload is completed within a specified maximum time, if possible. The CPU resource allocation policy based on fulfilling a service level objective allocates resources to the workload to meet the time period specified.

The screen shown in FIG. 8G is one example of an implementation of the steps of prompting the user to enter a metric name and comparison value (468, 469 in FIG. 5). The service level objective configuration has two sub-steps 500, as displayed in the guide portion 210 below the second step for configuring the CPU allocation policy. The input portion 230 requests that the user enter a metric name in a text box 192 by selecting a metric from a list of available metrics, or by creating a new metric, using the "Select Metric" button 194. For the specified metric, the user selects a type of comparison from a selection portion 198 and specifies the value of comparison in a text box 196. In the example shown in FIG. 8G, the metric is yet unnamed, but the comparison specifies that the metric be less than 2.33. After the workload CPU resource allocation policy is configured, the GUI (60 in FIG. 1) displays a screen relating to the third step shown in the configuration steps 212 in the guide portion 210.

FIGS. 9A 9B show example screens of the GUI used to define additional workloads or edit or delete existing workloads. FIG. 9A shows an example screen 152 in the GUI (60 in FIG. 1) relating a current step 308 which allows the user to define additional workloads or to edit or to delete an existing workload. Because the user has already defined and configured a workload "finance," the status bar 120 has been updated to reflect the status 122 of the current workload ("finance") is no longer "new," but is now an "existing" workload. The embodiment shown in FIG. 9A is one implementation of the step of prompting the user for additional workloads to be entered (block 413 in FIG. 4). The input portion 230 of the screen 152 prompts the user with the options of adding another workload, deleting or editing an existing workload, or proceeding to the next step in the process, as shown by the selection portion 268. In the example shown, the user has selected the option to proceed to the next step in the configuration process.

FIG. 9B shows a screen 600 in the GUI (60 in FIG. 1) relating to the current step 308 of defining additional workloads. In the example of FIG. 9B, the user is prompted for info


Free Web Sudoku Puzzles.
Solve with your browser.
    9 6     7    
4     8 1       6
6         5     3
              4 7
    5   9   8    
9 4              
7     1         9
2       7 4     8
    1     6 5    
What is it?



Add Your Site · Terms Of Service · Privacy Policy


DISCLAIMER
Linkgrinder is a free service that searches the Internet and indexes all files found so that you may search quickly and easily for shared files. These files are created and made available individually by users whose identity we are not aware of and who we have no control over. In essence we function like a search engine tool; these files ARE NOT STORED OR SERVED BY OUR NETWORK. We are not responsible for any materials obtained by using our service. We do not monitor any of the contents of these files. These files may contain viruses, illegal materials, materials inappropriate for minors, offensive files and the like. BY USING OUR SERVICE, YOU ASSUME FULL RESPONSIBILITY FOR DOWNLOADING THESE MATERIALS AND WILL INDEMNIFY US FOR ANY DAMAGES THAT MAY BE INCURRED.

For More Specific Information VIEW OUR TERMS OF SERVICE.

Thank you and Enjoy!