Source to image transformation pipeline for a platform-as-a-service system

US9727330B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9727330-B2
Application numberUS-201514952188-A
CountryUS
Kind codeB2
Filing dateNov 25, 2015
Priority dateNov 25, 2015
Publication dateAug 8, 2017
Grant dateAug 8, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Implementations provide for a source to image transformation pipeline for a Platform-as-a-Service (PaaS) system. A method of the disclosure includes receiving a request to create an application for execution on a multi-tenant PaaS system, introspecting received source files associated with the application to identify at least one of a language or a framework corresponding to the application, identifying a build image corresponding to the identified at least one of the language or the framework, constructing a build configuration object, a deployment configuration object, and a networking configuration object for the application, and transmitting, by the processing device, the build configuration object, the deployment configuration object, and the networking configuration object to a master layer of the multi-tenant PaaS system to enable the multi-tenant PaaS system to build and deploy the application at one or more nodes of the multi-tenant PaaS system.

First claim

Opening claim text (preview).

What is claimed is: 1. A method, comprising: receiving a request to create an application for execution on a multi-tenant Platform-as-a-Service (PaaS) system; receiving identification of source files associated with the application; introspecting, by a processing device, the source files to identify at least one of a language or a framework corresponding to the application; identifying, by the processing device, a build image corresponding to the identified at least one of the language or the framework; constructing, by the processing device, a build configuration object, a deployment configuration object, and a networking configuration object for the application; and transmitting, by the processing device, the build configuration object, the deployment configuration object, and the networking configuration object to a master layer of the multi-tenant PaaS system to enable the multi-tenant PaaS system to build and deploy the application at one or more nodes of the multi-tenant PaaS system without user intervention. 2. The method of claim 1 , wherein the build image provides a core functionality of the application. 3. The method of claim 1 , wherein the build configuration object, the deployment configuration object, and the networking configuration object enable the multi-tenant PaaS system to build and deploy the application at the one or more nodes of the multi-tenant PaaS system without any interaction with an end user that requested to create the application. 4. The method of claim 1 , wherein the build configuration object comprises an object that defines a build process for the application, and wherein the build configuration object takes as input the source files and the identified build image and generates a new application image. 5. The method of claim 4 , wherein the deployment configuration object comprises an object that defines details of deployment of the new application image, and wherein the details of the deployment comprise at least one of replication control definitions, triggers for creating new deployments automatically, strategy for transitioning between deployments, or lifecycle hooks. 6. The method of claim 4 , wherein the deployment configuration object is further to: determine that the image declares a volume; and match the volume to attached storage in the multi-tenant PaaS system, the attached storage to provide persistent storage for the application located at a file path defined by the volume declaration. 7. The method of claim 5 , wherein the networking configuration object enables the application as created by the deployment to be accessible by one or more end users, and wherein the networking configuration detects exposed ports in the source files and uses a lowest numeric exposed port to generate a service that exposes the lowest numeric exposed port. 8. The method of claim 1 , wherein the build image is located in at least one of a local repository of an end user device originating the request to create the new application, a remote repository, or a data store of the multi-tenant PaaS system. 9. The method of claim 1 , wherein the build image is identified in view of a weighted score applied to the build image, the weighted score reflecting an accuracy of the build image matching the at least one of the language or the framework of the introspected source files. 10. The method of claim 1 , wherein the source files comprise at least one of source code, images, or templates. 11. The method of claim 1 , wherein the one or more nodes of the multi-tenant PaaS system execute multiple applications comprising at least the application, and wherein the multiple applications are owned by different owners. 12. A system, comprising: a memory; a processing device communicably coupled to the memory, the processing device to: receive a request to create an application for execution on a multi-tenant Platform-as-a-Service (PaaS) system; receive identification of source files associated with the application; introspect the source files to identify at least one of a language or a framework corresponding to the application; identify a build image corresponding to the identified at least one of the language or the framework; construct a build configuration object, a deployment configuration object, and a networking configuration object for the application; and transmit the build configuration object, the deployment configuration object, and the networking configuration object to a master layer of the multi-tenant PaaS system to enable the multi-tenant PaaS system to build and deploy the application at one or more nodes of the multi-tenant PaaS system without user intervention. 13. The system of claim 12 , wherein the build configuration object, the deployment configuration object, and the networking configuration object enable the multi-tenant PaaS system to build and deploy the application at the one or more nodes of the multi-tenant PaaS system without any interaction with an end user that requested to create the application. 14. The system of claim 12 , wherein the build configuration object comprises an object that defines a build process for the application, and wherein the build configuration object takes as input the source files and the identified build image and generates a new application image. 15. The system of claim 14 , wherein the deployment configuration object comprises an object that defines details of deployment of the new application image, and wherein the details of the deployment comprise at least one of replication control definitions, triggers for creating new deployments automatically, strategy for transitioning between deployments, or lifecycle hooks. 16. The system of claim 14 , wherein the deployment configuration object is further to: determine that the image declares a volume; and match the volume to attached storage in the multi-tenant PaaS system, the attached storage to provide persistent storage for the application located at a file path defined by the volume declaration. 17. The system of claim 15 , wherein the networking configuration object enables the application as created by the deployment to be accessible by one or more end users, and wherein the networking configuration detects exposed ports in the source files and uses a lowest numeric exposed port to generate a service that exposes the lowest numeric exposed port. 18. The system of claim 12 , wherein the build image is identified in view of a weighted score applied to the build image, the weighted score reflecting an accuracy of the build image matching the at least one of the language or the framework of the introspected source files. 19. A non-transitory machine-readable storage medium including instructions that, when accessed by a processing device, cause the processing device to: receive a request to create an application for execution on a multi-tenant Platform-as-a-Service (PaaS) system; receive identification of source files associated with the application; introspect, by the processing device, the source files to identify at least one of a language or a framework corresponding to the application; identify, by the processing device, a build image corresponding to the identified at least one of the language or the framework; construct, by the processing device, a build configuration object, a deployment configuration object, and a networking configuration object for the application; and transmit, by the processing device, the build configuration object, the deployment configuration object, and the net

Assignees

Inventors

Classifications

  • Software design · CPC title

  • Software deployment · CPC title

  • Transformation of program code · CPC title

  • Updates (security arrangements therefor G06F21/57) · CPC title

  • Creation or generation of source code · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9727330B2 cover?
Implementations provide for a source to image transformation pipeline for a Platform-as-a-Service (PaaS) system. A method of the disclosure includes receiving a request to create an application for execution on a multi-tenant PaaS system, introspecting received source files associated with the application to identify at least one of a language or a framework corresponding to the application, id…
Who is the assignee on this patent?
Red Hat Inc
What technology area does this patent fall under?
Primary CPC classification G06F8/71. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Aug 08 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).