WO2015047076A2 - A system and method for auto-generate cloud resource provision application - Google Patents

A system and method for auto-generate cloud resource provision application Download PDF

Info

Publication number
WO2015047076A2
WO2015047076A2 PCT/MY2014/000144 MY2014000144W WO2015047076A2 WO 2015047076 A2 WO2015047076 A2 WO 2015047076A2 MY 2014000144 W MY2014000144 W MY 2014000144W WO 2015047076 A2 WO2015047076 A2 WO 2015047076A2
Authority
WO
WIPO (PCT)
Prior art keywords
application
flow definition
flow
resource provision
generating
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/MY2014/000144
Other languages
French (fr)
Inventor
Rama Tulasi Raju MORAMPUDI
Bin Mohd Raihan FADZIL
Binti Hasan SALIZA
Bin Ahmad HISHAMADIE
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mimos Bhd
Original Assignee
Mimos Bhd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mimos Bhd filed Critical Mimos Bhd
Publication of WO2015047076A2 publication Critical patent/WO2015047076A2/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment

Definitions

  • the present invention relates to cloud computing. More specifically, the present invention relates to a system and method for automatically generating cloud resource provision application.
  • Cloud Computing refers to the provision of computational resources on demand through a computer network.
  • Cloud Computing resources 103 can be provisioned via an interface 102, such as Command Line Interface (CLI), or web portal, which consume the cloud application programming interface (API).
  • CLI Command Line Interface
  • API cloud application programming interface
  • resource provision application 118 requires human interventions which involve tasks of coding developments 114, packaging 115 and deployment 116 of the applications, which are done manually.
  • FIG. 1C when a CLI is used for provisioning the resources, it involves many command lines usage.
  • Each of the processes from approving request, checking resources availability, checking user rights limitations and usage to provisioning cloud resources requires users to input one or more command lines to initiate and control it. In most occasions, the commands can only be inputted after the previous one is executed. For example, to check resource availability, the user enters a command line to call Open Nebula API, i.e. oneimage list, only then the system will return the list of resource available as shown below in FIG. ID.
  • Open Nebula API i.e. oneimage list
  • a method for generating cloud resource provision application comprises acquiring an input from a user through an User Interface (UI), the input includes requirements for creating the cloud resources provision application; defining a flow design having at least one component based on the input; generating a project file that includes the components, the component descriptions, the application workflow, for automating the cloud resource provision application generation; generating resource provision application; packaging the resource provision application; and deploying the resource provision application.
  • UI User Interface
  • the creating flow definition may comprise identifying application components through the input; identifying relationships of the application components; generating a flow definition based on the identified components and relationships; and storing the flow definition into a repository.
  • generating the resource provision application may comprise validating the flow definition; calling a workflow API to generate application components; and verifying the generated application components. It is possible that validating the flow definition further comprises reading application rules from a rule repository; comparing an order and sequence of the flow definition; inspecting syntax of the flow definition; checking whether the flow definition complies with predefined rules, if the flow definition complies with the predefined rules, the workflow API is called, otherwise the flow definition status is recorded.
  • a system for generating cloud resource provision application comprises an User Interface (UI) for receiving user's input for requirements for creating the cloud resources provision application; an auto-generator for processing the user's input to define application flow, generate, package and deploy application based on the application flow.
  • UI User Interface
  • auto-generator for processing the user's input to define application flow, generate, package and deploy application based on the application flow.
  • the system is adapted for carrying out the aforesaid method for generating cloud resource provision application.
  • FIGs. 1 A to ID is a known process of provisioning resources
  • FIG. 2 illustrates a process flow for auto-generating resource provision application in accordance with one embodiment of the present invention
  • FIG. 3 illustrates a process flow of defining application and generating application for auto-generating cloud resource provision application in accordance with one embodiment of the present invention
  • FIG. 4 illustrates a process flow of creating flow definition of FIG. 3 in accordance with one embodiment of the present invention
  • FIG. 5 illustrates a process flow for generating resource provision application of FIG. 3 in accordance with one embodiment of the present invention.
  • FIG. 6 illustrates a process of validating flow definition of FIG. 5 in accordance with one embodiment of the present invention.
  • FIG. 2 illustrates a process flow for auto-generating resource provision application in accordance with one embodiment of the present invention. It is an objective of the embodiment to auto-generate cloud computing resource provisioning application based on user requirements.
  • the process includes a user defines requirements via an User Interface (UI) at step 202, a system creates an application flow that defines the required series of actions, events and etc, for executing by the generator, based on the requirements at step 204, the system generates cloud resources based on application flow, packages and deploys the resource application at step 206, and publishing the resource provision application for accessible via web portal at step 208.
  • UI User Interface
  • FIG. 3 illustrates a process flow of defining application 310 and generating application 320 for auto-generating cloud resource provision application in accordance with one embodiment of the present invention.
  • the process of defining application 320 includes reading inputs from user at step 312 and creating a flow definition based on the user input at step 314.
  • the flow definition includes flow components, relationships, data input and output for the cloud resource provision application.
  • VNET Virtual Network
  • the flow definition may be made available on a repository that stores all the flow definition information and rules, which are conveniently selectable by the user as the input through an interface. Besides the xml syntax, the flow definition can also be available in any other coding such as GUI component based language.
  • the step of generating application 320 further comprises generating resource provision application in step 322, packaging application at step 324 and deploying application at step 326.
  • the resource provision application is generated based on the flow definition file generated in the preceding step.
  • the flow definition provides the relevant flow design of descriptions for one or more of the required components.
  • the components may include, but not limited to, any of web portal, workflow software, web services, xml nodes (parent or child or sub nodes) and cloud computing resources.
  • An application workflow is generated based on the descriptions to render a project file that contains one or more flow definition files. With the project file, resource provision application is generated at step 322, and the resource provision application is then packed up at step 324 and deployed at step 326.
  • the resource provision application can be accessible through a remote repository.
  • FIG. 4 illustrates a process flow of creating flow definition 314 of FIG. 3 in accordance with one embodiment of the present invention.
  • the process of creating flow definition 314 further comprises reading inputs from user at step 402; identifying application components based on user input at step 404; identifying components relationships at step 406; generating a new flow definition based on identified components and relationships at step 408; and storing the new generated application definition into a definition repository at step 410.
  • the flow definition is generated, it is used for generating resource provision application through the resource provision application engine at the step 322.
  • FIG. 5 illustrates a process flow for generating resource provision application 322 of FIG. 3 in accordance with one embodiment of the present invention.
  • the process further comprises validating flow definition at step 502; calling a workflow API to generate application components at step 504; verifying the generated application components at step 506; packaging the generated application components for deployment at step 508; and deploying the generated application 510.
  • FIG. 6 illustrates a process of validating flow definition 502 of FIG. 5 in accordance with one embodiment of the present invention.
  • the process comprises reading application rules from a rule repository at step 602, comparing the order and sequence of the flow definition at step 604, inspecting the syntax of the flow definition at step 606, and inspecting the syntax of the flow definition.
  • the syntax of the flow definition is being inspected, it checks if the flow definition complies with the definition rules at step 608. If it complies with the definition rules, the workflow API is called to generate application components as provided in the step 504 of FIG. 5. If it does not comply, the flow definition status is being update at step 614 and the auto-generation process is terminated. User will be notified on the validation status.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Description

A SYSTEM AND METHOD FOR AUTO-GENERATE CLOUD RESOURCE PROVISION APPLICATION
Field of the Invention
[0001] The present invention relates to cloud computing. More specifically, the present invention relates to a system and method for automatically generating cloud resource provision application.
Background
[0002] Cloud Computing refers to the provision of computational resources on demand through a computer network. As shown in FIG. 1 A, Cloud Computing resources 103 can be provisioned via an interface 102, such as Command Line Interface (CLI), or web portal, which consume the cloud application programming interface (API).
[0003] To implement new requirements 112 as shown in FIG. IB, resource provision application 118 requires human interventions which involve tasks of coding developments 114, packaging 115 and deployment 116 of the applications, which are done manually. As shown in FIG. 1C, when a CLI is used for provisioning the resources, it involves many command lines usage. Each of the processes from approving request, checking resources availability, checking user rights limitations and usage to provisioning cloud resources requires users to input one or more command lines to initiate and control it. In most occasions, the commands can only be inputted after the previous one is executed. For example, to check resource availability, the user enters a command line to call Open Nebula API, i.e. oneimage list, only then the system will return the list of resource available as shown below in FIG. ID. But until the list is rendered, nothing can be done by the user. The user is being notified and updated with the status at each stage. These processes are however inflexible and difficult, if not impossible, to change process flow for enabling system administrator to "program" when/who/how to provide resources. [0004] These tasks and processes are resource and time consuming, notwithstanding that multiple dependencies shall also be resolved in order to complete the resource provision application development.
Summary
[0005] In accordance with one aspect of the present invention, there is provided a method for generating cloud resource provision application. The method comprises acquiring an input from a user through an User Interface (UI), the input includes requirements for creating the cloud resources provision application; defining a flow design having at least one component based on the input; generating a project file that includes the components, the component descriptions, the application workflow, for automating the cloud resource provision application generation; generating resource provision application; packaging the resource provision application; and deploying the resource provision application.
[0006] In one embodiment, the creating flow definition may comprise identifying application components through the input; identifying relationships of the application components; generating a flow definition based on the identified components and relationships; and storing the flow definition into a repository. [0007] In another embodiment, generating the resource provision application may comprise validating the flow definition; calling a workflow API to generate application components; and verifying the generated application components. It is possible that validating the flow definition further comprises reading application rules from a rule repository; comparing an order and sequence of the flow definition; inspecting syntax of the flow definition; checking whether the flow definition complies with predefined rules, if the flow definition complies with the predefined rules, the workflow API is called, otherwise the flow definition status is recorded.
[0008] In another aspect of the present invention, there is also provided a system for generating cloud resource provision application. The system comprises an User Interface (UI) for receiving user's input for requirements for creating the cloud resources provision application; an auto-generator for processing the user's input to define application flow, generate, package and deploy application based on the application flow.
[0009] In one embodiment, the system is adapted for carrying out the aforesaid method for generating cloud resource provision application.
Brief Description of the Drawings
[0010] Preferred embodiments according to the present invention will now be described with reference to the figures accompanied herein, in which like reference numerals denote like elements; [0011] FIGs. 1 A to ID is a known process of provisioning resources;
[0012] FIG. 2 illustrates a process flow for auto-generating resource provision application in accordance with one embodiment of the present invention; [0013] FIG. 3 illustrates a process flow of defining application and generating application for auto-generating cloud resource provision application in accordance with one embodiment of the present invention;
[0014] FIG. 4 illustrates a process flow of creating flow definition of FIG. 3 in accordance with one embodiment of the present invention;
[0015] FIG. 5 illustrates a process flow for generating resource provision application of FIG. 3 in accordance with one embodiment of the present invention; and
[0016] FIG. 6 illustrates a process of validating flow definition of FIG. 5 in accordance with one embodiment of the present invention. Detailed Description
[0017] Embodiments of the present invention shall now be described in detail, with reference to the attached drawings. It is to be understood that no limitation of the scope of the invention is thereby intended, such alterations and further modifications in the illustrated device, and such further applications of the principles of the invention as illustrated therein being contemplated as would normally occur to one skilled in the art to which the invention relates.
[0018] FIG. 2 illustrates a process flow for auto-generating resource provision application in accordance with one embodiment of the present invention. It is an objective of the embodiment to auto-generate cloud computing resource provisioning application based on user requirements. The process includes a user defines requirements via an User Interface (UI) at step 202, a system creates an application flow that defines the required series of actions, events and etc, for executing by the generator, based on the requirements at step 204, the system generates cloud resources based on application flow, packages and deploys the resource application at step 206, and publishing the resource provision application for accessible via web portal at step 208.
[0019] FIG. 3 illustrates a process flow of defining application 310 and generating application 320 for auto-generating cloud resource provision application in accordance with one embodiment of the present invention. The process of defining application 320 includes reading inputs from user at step 312 and creating a flow definition based on the user input at step 314. Specifically, the flow definition includes flow components, relationships, data input and output for the cloud resource provision application. For example, an xml syntax for a flow definition 'To Add Virtual Network (VNET) into Cloud Computing Resources' is exemplified below:
<ADD_VNET>
<ACCEPT_PARA _AD I >
<VNET_NAME> ONE_Vnet</VNET_NAME>
<CLUSTER_NAME> Cluster_ONE</CLUSTER_NAME>
<TYPE> FIXED</TYPE>
<IP>
<IP_1> 10.1.24.240</IP_1>
<IP_2> 10.1.24.241</IP_2>
</IP>
</ACCEPT_PARAM_ADMIN>
<APPROVE_ACTION> YES/NO </APPROVE_ACTION>
(multiple action form)
</ADD VNET>
[0020] The flow definition may be made available on a repository that stores all the flow definition information and rules, which are conveniently selectable by the user as the input through an interface. Besides the xml syntax, the flow definition can also be available in any other coding such as GUI component based language. Once the user enters the inputs, a flow engine generates an application automatically based on inputs. A flow definition file is generated in this step.
[0021] Still referring to FIG. 3, the step of generating application 320 further comprises generating resource provision application in step 322, packaging application at step 324 and deploying application at step 326. The resource provision application is generated based on the flow definition file generated in the preceding step. The flow definition provides the relevant flow design of descriptions for one or more of the required components. The components may include, but not limited to, any of web portal, workflow software, web services, xml nodes (parent or child or sub nodes) and cloud computing resources. An application workflow is generated based on the descriptions to render a project file that contains one or more flow definition files. With the project file, resource provision application is generated at step 322, and the resource provision application is then packed up at step 324 and deployed at step 326. The resource provision application can be accessible through a remote repository.
[0022] FIG. 4 illustrates a process flow of creating flow definition 314 of FIG. 3 in accordance with one embodiment of the present invention. The process of creating flow definition 314 further comprises reading inputs from user at step 402; identifying application components based on user input at step 404; identifying components relationships at step 406; generating a new flow definition based on identified components and relationships at step 408; and storing the new generated application definition into a definition repository at step 410. Once the flow definition is generated, it is used for generating resource provision application through the resource provision application engine at the step 322. [0023] FIG. 5 illustrates a process flow for generating resource provision application 322 of FIG. 3 in accordance with one embodiment of the present invention. The process further comprises validating flow definition at step 502; calling a workflow API to generate application components at step 504; verifying the generated application components at step 506; packaging the generated application components for deployment at step 508; and deploying the generated application 510.
[0024] FIG. 6 illustrates a process of validating flow definition 502 of FIG. 5 in accordance with one embodiment of the present invention. The process comprises reading application rules from a rule repository at step 602, comparing the order and sequence of the flow definition at step 604, inspecting the syntax of the flow definition at step 606, and inspecting the syntax of the flow definition. When the syntax of the flow definition is being inspected, it checks if the flow definition complies with the definition rules at step 608. If it complies with the definition rules, the workflow API is called to generate application components as provided in the step 504 of FIG. 5. If it does not comply, the flow definition status is being update at step 614 and the auto-generation process is terminated. User will be notified on the validation status.
[0001] While specific embodiments have been described and illustrated, it is understood that many changes, modifications, variations, and combinations thereof could be made to the present invention without departing from the scope of the invention.

Claims

Claims
1. A method for generating cloud resource provision application, the method comprising: acquiring (312) an input from a user through an User Interface (UI), the input includes requirements for creating the cloud resources provision application; defining a flow design having at least one component based on the input; generating a project file that includes the components, the component descriptions, the application workflow, for automating the cloud resource provision application generation; generating (322) resource provision application; packaging (324) the resource provision application; and deploying (326) the resource provision application.
2. The method according to claim 1, wherein creating (314) flow definition comprising: identifying (404) application components through the input; identifying (406) relationships of the application components; generating (408) a flow definition based on the identified components and relationships; and storing (410) the flow definition into a repository.
3. The method according to claim 1 , wherein generating (322) the resource provision application comprising: validating (502) the flow definition; calling (504) a workflow API to generate application components; and verifying (506) the generated application components.
4. The method according to claim 3, wherein validating (502) the flow definition comprising: reading (602) application rules from a rule repository; comparing (604) an order and sequence of the flow definition; inspecting (606) syntax of the flow definition; and checking (608) whether the flow definition complies with predefined rules, if the flow definition complies with the predefined rules, the workflow API is called (504), otherwise the flow definition status is recorded.
5. A system for generating cloud resource provision application, the system comprising: an User Interface (UI) for receiving user's input for requirements for creating the cloud resources provision application; and an auto-generator for processing the user's input to define application flow, generate, package and deploy application based on the application flow.
6. The system according to claim 5, the system carries out the method according to claim 1.
PCT/MY2014/000144 2013-09-25 2014-05-26 A system and method for auto-generate cloud resource provision application Ceased WO2015047076A2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
MYPI2013003497A MY175081A (en) 2013-09-25 2013-09-25 A system and method for auto-generate cloud resource provision application
MYPI2013003497 2013-09-25

Publications (1)

Publication Number Publication Date
WO2015047076A2 true WO2015047076A2 (en) 2015-04-02

Family

ID=51585156

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/MY2014/000144 Ceased WO2015047076A2 (en) 2013-09-25 2014-05-26 A system and method for auto-generate cloud resource provision application

Country Status (2)

Country Link
MY (1) MY175081A (en)
WO (1) WO2015047076A2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10423393B2 (en) 2016-04-28 2019-09-24 Microsoft Technology Licensing, Llc Intelligent flow designer
CN111400638A (en) * 2020-03-10 2020-07-10 大汉软件股份有限公司 Dynamic management method and system for realizing native APP client content

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10423393B2 (en) 2016-04-28 2019-09-24 Microsoft Technology Licensing, Llc Intelligent flow designer
CN111400638A (en) * 2020-03-10 2020-07-10 大汉软件股份有限公司 Dynamic management method and system for realizing native APP client content

Also Published As

Publication number Publication date
MY175081A (en) 2020-06-04

Similar Documents

Publication Publication Date Title
US20240118915A1 (en) Automated Management of Machine Images
EP3095031B1 (en) Cloud-based decision management platform
CN103380423B (en) Systems and methods for private cloud computing
Quinton et al. Towards multi-cloud configurations using feature models and ontologies
US10324709B2 (en) Apparatus and method for validating application deployment topology in cloud computing environment
CN102291464B (en) System and Method for Dynamically Generating Web Service from Business Process in BPM
US20160241446A1 (en) Managing a number of secondary clouds by a master cloud service manager
Breitenbücher et al. Pattern-based runtime management of composite cloud applications
US20150295781A1 (en) Cloud object
US20110004564A1 (en) Model Based Deployment Of Computer Based Business Process On Dedicated Hardware
US20160127418A1 (en) Policy-guided fulfillment of a cloud service
CN104335170A (en) Cloud application deployment
Camilli et al. A formal framework for specifying and verifying microservices based process flows
Mietzner A method and implementation to define and provision variable composite applications, and its usage in cloud computing
US20130275960A1 (en) Validation of current states of provisioned software products in a cloud environment
Asim et al. Security policy monitoring of BPMN‐based service compositions
Soukaras et al. IoTSuite: a ToolSuite for prototyping internet of things applications
Guillén et al. Developing migratable multicloud applications based on MDE and adaptation techniques
US9940103B2 (en) Discovery and modeling of deployment actions for multiple deployment engine providers
CN103577260A (en) Work scheduling method and system for cloud platform
WO2015047076A2 (en) A system and method for auto-generate cloud resource provision application
Zimmermann et al. Deployment enforcement rules for TOSCA-based applications
Truong et al. Modeling and provisioning iot cloud systems for testing uncertainties
US8924948B2 (en) Method and system for context modeling
Mohamed et al. rSLA: an approach for managing service level agreements in cloud environments

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14771638

Country of ref document: EP

Kind code of ref document: A2

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14771638

Country of ref document: EP

Kind code of ref document: A2