IP Library Patent Application 11412339
Patent Application
App. No. 11/412,339

Brokered virtualized application execution

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 None
App. No.
11/412,339
Abstract

Methods and apparatuses enable brokering the execution of an application. Rather than setting up a complete application execution environment including hardware and software, an execution broker enables execution of an application in a system that is generated or made available in response to a request to execute the application. Some or all components of the hardware and/or software can be virtualized through resources available in one or more backend systems. The request may include a configuration description of a hardware platform and a software environment on which to execute the application. In one embodiment, the configuration of the hardware and/or the software is derived (e.g., based on minimum system requirements and/or client preferences). In response to receiving the request, a hardware platform and a software environment based on the configuration description are generated, to generate the application execution environment for the requested application.

Claims (73)

1 . A method for providing an application execution environment, comprising:

receiving a request to execute an application, including a configuration description of a hardware platform and a software environment on which to execute the application;

generating a hardware platform based on the configuration description, in response to receiving the request;

generating a software environment based on the software environment of the configuration description, in response to receiving the request; and

executing the application on the hardware platform in the software environment.

2 . The method of claim 1 , wherein receiving the request including the configuration description further comprises:

receiving a request for a specified application;

determining a minimum hardware platform configuration required to execute the application; and

determining a minimum software environment configuration required to execute the application.

3 . The method of claim 1 , wherein generating the hardware platform based on the configuration description comprises:

suggesting a default hardware configuration;

determining whether to modify the default hardware configuration to a modified suggested hardware configuration; and

generating a hardware platform based on the modified suggested hardware configuration if it is determined to modify the default hardware platform configuration, otherwise,

generating a hardware platform based on the default hardware configuration.

4 . The method of claim 3 , wherein determining whether to modify the default hardware configuration further comprises:

comparing the default hardware configuration to known configuration preferences.

5 . The method of claim 3 , wherein determining whether to modify the default hardware configuration further comprises:

receiving configuration preferences; and

comparing the default hardware configuration to the received configuration preferences.

6 . The method of claim 3 , wherein determining whether to modify the default hardware configuration further comprises:

evaluating the default hardware configuration for one or more of a cost, a quality of service, a guaranteed service level, an availability of the hardware.

7 . The method of claim 1 , wherein generating the hardware platform based on the configuration description comprises:

identifying a known physical hardware system having at least a minimum of elements of the hardware platform configuration description; and

preferring the known physical hardware system over generating a virtualized hardware platform that matches the hardware platform configuration description.

8 . The method of claim 1 , wherein generating the hardware platform comprises:

virtualizing at least one component of the hardware platform.

9 . The method of claim 1 , wherein generating the software environment based on the configuration description comprises:

suggesting a default software configuration;

determining whether to modify the default software configuration to a modified suggested software configuration; and

generating a software environment based on the modified suggested software configuration if it is determined to modify the default software environment configuration, otherwise,

generating a software environment based on the default software configuration.

10 . The method of claim 1 , wherein generating the software environment comprises:

retrieving a software component from a node on a shared network.

11 . The method of claim 1 , wherein generating the software environment comprises:

virtualizing at least one component of the software platform.

12 . The method of claim 1 , further comprising:

delaying execution of the application on the hardware platform in the software environment.

13 . The method of claim 12 , wherein delaying execution of the application further comprises:

delaying the execution to synchronize the execution with the occurrence of a condition.

14 . The method of claim 13 , wherein the occurrence of the condition comprises one or more of achieving a target cost, obtaining availability of a hardware resource, or obtaining availability of a software resource.

15 . An article of manufacture comprising a machine readable medium having content stored thereon to provide instructions to cause a machine to perform operations, including:

receiving from a client a request to execute an application;

determining a configuration description of a hardware platform and a software environment on which to execute the application;

virtualizing a hardware platform consistent with the configuration description, in response to receiving the request;

virtualizing a software environment consistent with the software environment of the configuration description, in response to receiving the request; and

executing the application on the virtualized hardware platform in the virtualized software environment.

16 . The article of manufacture of claim 15 , wherein the content for determining the configuration description comprises content for:

providing a suggested virtualized hardware platform configuration; and

generating a virtualized hardware platform configuration according to a modification of the suggested virtualized hardware platform configuration, if a modification of the suggested virtualized hardware platform configuration is received, otherwise,

generating a virtualized hardware platform configuration according to the suggested virtualized hardware platform configuration.

17 . The article of manufacture of claim 15 , wherein the content for determining the configuration description comprises content for:

providing a suggested virtualized hardware platform configuration; and

generating a virtualized software environment configuration according to a modification of the suggested virtualized software environment configuration, if a modification of the suggested virtualized software environment configuration is received, otherwise,

generating a virtualized software environment configuration according to the suggested virtualized software environment configuration.

18 . An execution broker comprising:

a hardware manager to generate one or more hardware resources;

a software manager to generate one or more software resources;

a resource selector coupled to the hardware manager and the software manager, the resource selector to receive a request to execute an application, select a hardware resource configuration on which to execute the application in response to receiving the request, and select a software resource configuration on which to execute the application in response to receiving the request; and

an execution module coupled to the resource selector to execute the application on the selected hardware and the selected software, and provide access to the application to a requester.

19 . The execution broker of claim 18 , wherein the software manager further comprises:

an operating system manager coupled to an operating system repository to retrieve an operating system from the repository.

20 . The execution broker of claim 18 , wherein the software manager further comprises:

an application manager coupled to an application repository to retrieve an application from the repository.

21 . A system comprising:

a long-running backend system having allocatable hardware and software resources;

a hardware manager coupled to the backend system to allocate one or more of the allocatable hardware resources;

a software manager coupled to the backend system to allocate one or more of the allocatable software resources;

an execution broker coupled to the hardware manager and to the software manager, the execution broker including a resource selector to receive a request from a requester to execute an application, select a hardware resource configuration on which to execute the application in response to receiving the request, and select a software resource configuration on which to execute the application in response to receiving the request, and further including an execution module to broker the allocatable hardware and software resources to the requester via the hardware and software managers, and to execute the application on the brokered hardware and software.

22 . The system of claim 21 , wherein the hardware manager is included with the execution broker.

23 . The system of claim 21 , wherein the software manager is included with the execution broker.

24 . The system of claim 21 , further comprising:

a requester access module to couple the requester to the execution broker and the brokered hardware and software resources.

25 . The system of claim 24 , wherein the requester access module comprises a remote access portal.

Assignments (2)
CHANGE OF NAME Recorded Aug 26, 2014
From: SAP AG
To: SAP SE
Reel/Frame 033625/0223 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 26, 2006
From: SCHNEIDER, MANFRED
To: SAP AG
Reel/Frame 017820/0300 →