Determining a capacity of a grid environment to handle a required workload for a virtual grid job request
First Claim
1. A computer-implemented method for determining a capacity of a grid environment to handle a job specified by a virtual job request, comprising:
- receiving, from a client system, a virtual job request for processing a job within a grid environment at a bid controller via a network, wherein said grid environment comprises a plurality of hardware resources, a plurality of software resources, and a plurality of network resources accessed from across a plurality of computing systems with each of said plurality of computing systems communicatively connected over said network through a grid management system to share said plurality of resources through a plurality of grid services, wherein said virtual job request specifies a job time limit which is a time limit for executing said job, an on demand eligibility of said job specifying an eligibility for execution on capacity on demand resources within said grid environment, a resource limit which is a limit on the amount of resources to allocate to said job, a job completion requirement specifying whether the job time limit includes the time to return data output from said job to said client system, a software platform requirement of at least one required software platform class for said job from among a plurality of software platform classes available within said grid environment, a hardware platform requirement of at least one hardware class for said job from among a plurality of hardware platform classes available within said grid environment, a specified transport mechanism with a minimum transfer rate for data accesses for said job, a minimum data size for data processing of said job, a performance requirement for said job, and a grid sell off eligibility specifying whether sell off of said job to another grid environment is allowed;
determining by a total workload calculator a total resource requirement for said job from said job request of at least one required hardware resource, at least one required software resource, and at least one required network resource;
determining by an available resource calculator, a total available resources of a selection of resources currently available within said grid environment meeting said software platform requirement, said hardware platform requirement, said specified transport mechanism, said minimum data size, and said performance requirement for said job request from among said plurality of resources specified in a resource database specifying each type of resource, each resource performance specification, and each resource platform class from among said plurality of software classes and said plurality of hardware classes;
responsive to said total resource requirement requiring more resources than available in said total available resources and said on demand eligibility of said job set to allow capacity on demand resources, adding a selection of available capacity on demand resources within said grid environment to said total available resources;
responsive to said total resource requirement requiring more resources than available in said total available resources and said grid sell off eligibility set to allow sell off to another grid environment, updating the total available resources with a selection of resource available if the virtual grid job is sold off to the another grid environment for processing;
responsive to said total available resources exceeding said resource limit, limiting said total available resources by said resource limit;
estimating a total time required to perform the virtual job request within the total available resources;
responsive to the job completion requirement set to require the return time in the job time limit, estimating a complete time required to output data calculated from said job within said grid environment to said client system;
adding said complete time to said total time required;
responsive to said total time required exceeding said job time limit, specifying an error and returning a no bid response to said client system; and
responsive to said total time required not exceeding said job time limit, calculating a price for performing the job and returning a bid with the price to the client system.
1 Assignment
0 Petitions
Accused Products
Abstract
A method, system, and program for determining a capacity of a grid environment to handle a required workload for a virtual grid job request are provided. A bid controller receives a virtual job request for processing a job within a grid environment from a client system. The bid controller determines the total required workload for the virtual job request. Then, the bid controller calculates a capacity of the grid environment to handle the total required workload, such that a bid for performing the job is enabled to be automatically generated responsive to the virtual job request based on the capacity of the grid environment to handle the total required workload.
146 Citations
6 Claims
-
1. A computer-implemented method for determining a capacity of a grid environment to handle a job specified by a virtual job request, comprising:
-
receiving, from a client system, a virtual job request for processing a job within a grid environment at a bid controller via a network, wherein said grid environment comprises a plurality of hardware resources, a plurality of software resources, and a plurality of network resources accessed from across a plurality of computing systems with each of said plurality of computing systems communicatively connected over said network through a grid management system to share said plurality of resources through a plurality of grid services, wherein said virtual job request specifies a job time limit which is a time limit for executing said job, an on demand eligibility of said job specifying an eligibility for execution on capacity on demand resources within said grid environment, a resource limit which is a limit on the amount of resources to allocate to said job, a job completion requirement specifying whether the job time limit includes the time to return data output from said job to said client system, a software platform requirement of at least one required software platform class for said job from among a plurality of software platform classes available within said grid environment, a hardware platform requirement of at least one hardware class for said job from among a plurality of hardware platform classes available within said grid environment, a specified transport mechanism with a minimum transfer rate for data accesses for said job, a minimum data size for data processing of said job, a performance requirement for said job, and a grid sell off eligibility specifying whether sell off of said job to another grid environment is allowed; determining by a total workload calculator a total resource requirement for said job from said job request of at least one required hardware resource, at least one required software resource, and at least one required network resource; determining by an available resource calculator, a total available resources of a selection of resources currently available within said grid environment meeting said software platform requirement, said hardware platform requirement, said specified transport mechanism, said minimum data size, and said performance requirement for said job request from among said plurality of resources specified in a resource database specifying each type of resource, each resource performance specification, and each resource platform class from among said plurality of software classes and said plurality of hardware classes; responsive to said total resource requirement requiring more resources than available in said total available resources and said on demand eligibility of said job set to allow capacity on demand resources, adding a selection of available capacity on demand resources within said grid environment to said total available resources; responsive to said total resource requirement requiring more resources than available in said total available resources and said grid sell off eligibility set to allow sell off to another grid environment, updating the total available resources with a selection of resource available if the virtual grid job is sold off to the another grid environment for processing; responsive to said total available resources exceeding said resource limit, limiting said total available resources by said resource limit; estimating a total time required to perform the virtual job request within the total available resources; responsive to the job completion requirement set to require the return time in the job time limit, estimating a complete time required to output data calculated from said job within said grid environment to said client system; adding said complete time to said total time required; responsive to said total time required exceeding said job time limit, specifying an error and returning a no bid response to said client system; and responsive to said total time required not exceeding said job time limit, calculating a price for performing the job and returning a bid with the price to the client system. - View Dependent Claims (2)
-
-
3. A system for determining a capacity of a grid environment to handle a job specified by a virtual job request, comprising:
-
a bid controlled executing within a computing system on at least one processor communicatively connected to a network; said bid controller further comprising; means for receiving a virtual job request for processing a job within a grid environment, wherein said grid environment comprises a plurality of hardware resources, a plurality of software resources, and a plurality of network resources accessed from across a plurality of computing systems with each of said plurality of computing systems communicatively connected over said network through a grid management system to share said plurality of resources through a plurality of grid services, wherein said virtual job request specifies a job time limit which is a time limit for executing said job, an on demand eligibility of said job specifying an eligibility for execution on capacity on demand resources within said grid environment, a resource limit which is a limit on the amount of resources to allocate to said job, ajob completion requirement specifying whether the job time limit includes the time to return data output from said job to said client system, a software platform requirement of at least one required software platform class for said job from among a plurality of software platform classes available within said grid environment, a hardware platform requirement of at least one hardware class for said job from among a plurality of hardware platform classes available within said grid environment, a specified transport mechanism with a minimum transfer rate for data accesses for said job, a minimum data size for data processing of said job, a performance requirement for said job, and a grid sell off eligibility specifying whether sell off of said job to another grid environment is allowed; means for determining by a total workload calculator a total resource requirement for said job from said job request of at least one required hardware resource, at least one required software resource, and at least one required network resource; means for determining by an available resource calculator, a total available resources of a selection of resources currently available within said grid environment meeting said software platform requirement, said hardware platform requirement, said specified transport mechanism, said minimum data size, and said performance requirement for said job request from among said plurality of resources specified in a resource database specifying each type of resource, each resource performance specification, and each resource platform class from among said plurality of software classes and said plurality of hardware classes; means, responsive to said total resource requirement requiring more resources than available in said total available resources and said on demand eligibility of said job set to allow capacity on demand resources, for adding a selection of available capacity on demand resources within said grid environment to said total available resources; means responsive to said total resource requirement requiring more resources than available in said total available resources and said grid sell off eligibility set to allow sell off to another grid environment, for updating the total available resources with a selection of resource available if the virtual grid job is sold off to the another grid environment for processing; means, responsive to said total available resources exceeding said resource limit, for limiting said total available resources by said resource limit; means for estimating a total time required to perform the virtual job request within the total available resources; means, responsive to the job completion requirement set to require the return time in the job time limit, for estimating a complete time required to output data calculated from said job within said grid environment to said client system; means for adding said complete time to said total time required; means, responsive to said total time required exceeding said job time limit, for specifying an error and returning a no bid response to said client system; and means, responsive to said total time required not exceeding said job time limit, for calculating a price for performing the job and returning a bid with the price to the client system. - View Dependent Claims (4)
-
-
5. A computer program product, residing on a volatile or non-volatile computer readable medium, when executing by a processor for determining a capacity of a grid environment to handle a job specified by a virtual job request, comprising:
-
means for enabling reception, from a client system via a network, of a virtual job request for processing a job within a grid environment, wherein said grid environment comprises a plurality of hardware resources, a plurality of software resources, and a plurality of network resources accessed from across a plurality of computing systems with each of said plurality of computing systems communicatively connected over said network through a grid management system to share said plurality of resources through a plurality of grid services, wherein said virtual job request specifies a job time limit which is a time limit for executing said job, an on demand eligibility of said job specifying an eligibility for execution on capacity on demand resources within said grid environment, a resource limit which is a limit on the amount of resources to allocate to said job, a job completion requirement specifying whether the job time limit includes the time to return data output from said job to said client system, a software platform requirement of at least one required software platform class for said job from among a plurality of software platform classes available within said grid environment, a hardware platform requirement of at least one hardware class for said job from among a plurality of hardware platform classes available within said grid environment, a specified transport mechanism with a minimum transfer rate for data accesses for said job, a minimum data size for data processing of said job, a performance requirement for said job, and a grid sell off eligibility specifying whether sell off of said job to another grid environment is allowed; means for determining by a total workload calculator a total resource requirement for said job from said job request of at least one required hardware resource, at least one required software resource, and at least one required network resource; means for determining, by an available resource calculator, a total available resources of a selection of resources currently available within said grid environment meeting said software platform requirement, said hardware platform requirement, said specified transport mechanism, said minimum data size, and said performance requirement for said job request from among said plurality of resources specified in a resource database specifying each type of resource, each resource performance specification, and each resource platform class from among said plurality of software classes and said plurality of hardware classes; means, responsive to said total resource requirement requiring more resources than available in said total available resources and said on demand eligibility of said job set to allow capacity on demand resources, for adding a selection of available capacity on demand resources within said grid environment to said total available resources; means responsive to said total resource requirement requiring more resources than available in said total available resources and said grid sell off eligibility set to allow sell off to another grid environment, for updating the total available resources with a selection of resource available if the virtual grid job is sold off to the another grid environment for processing; means, responsive to said total available resources exceeding said resource limit, for limiting said total available resources by said resource limit; means for estimating a total time required to perform the virtual job request within the total available resources; means, responsive to the job completion requirement set to require the return time in the job time limit, for estimating a complete time required to output data calculated from said job within said, grid environment to said client system; means for adding said complete time to said total time required; means, responsive to said total time required exceeding said job time limit, for specifying an error and returning a no bid response to said client system; and means, responsive to said total time required not exceeding said job time limit, for calculating a price for performing the job and returning a bid with the price to the client system. - View Dependent Claims (6)
-
Specification