Techniques to enhance software production

US9710261B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9710261-B2
Application numberUS-77528210-A
CountryUS
Kind codeB2
Filing dateMay 6, 2010
Priority dateMay 6, 2010
Publication dateJul 18, 2017
Grant dateJul 18, 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.

Techniques to enhance software production are described. An apparatus may include a processor and a memory unit to couple to the processor. The memory unit may store a software build service that when executed by the processor is operative to receive a request to subscribe to the software build service from a software development client, create a virtual software build platform to build a software application, and assign multiple build resources from a resource pool to the virtual software build platform to build the software application, with each of the multiple build resources having one or more assigned affinity relationships for build execution tasks to build the software application. Other embodiments are described and claimed.

First claim

Opening claim text (preview).

The invention claimed is: 1. A computer-implemented method, comprising: receiving by a processor a request to subscribe to a software build service; creating a virtual software build platform when a subscription operation is complete; receiving a build definition file with the build execution tasks and build definitions to build the software application; assigning multiple build resources from a resource pool in a shared environment to the virtual software build platform to build a software application, wherein each build resource of the multiple build resources comprises a build machine configured to execute the build execution tasks; securing data associated with the build execution tasks with an encryption key; and scheduling the build execution tasks for execution by the multiple build resources based on a distributed build schedule and assigned affinity relationships, wherein a type of affinity relationship is assigned to a build resource indicating a build machine cannot execute a specific build execution task and that the specific build execution task cannot be executed by the build machine; executing each of the build execution tasks by the multiple build resources in accordance with the distributed build schedule to convert multiple source code files into binary code files; and packaging the binary code files to form a software application package for the software application wherein the source code files and the binary code files are self-contained and inaccessible to a software development client. 2. The computer-implemented method of claim 1 , wherein the encryption key prevents unauthorized access to the data associated with the build execution tasks and ensures only authorized code for the software application runs on the virtual software build platform. 3. The computer-implemented method of claim 1 , comprising allocating one or more workspaces for execution of the build execution tasks. 4. The computer-implemented method of claim 1 , comprising loading hardware for the build resource with the security credential. 5. The computer-implemented method of claim 1 , comprising assigning one or more affinity relationships to a build resource, a build task or both a build resource and a build task, each affinity relationship representing a relationship between a build execution task and a build resource. 6. The computer-implemented method of claim 1 , comprising assigning a default affinity relationship to a build resource, a build task or both a build resource and a build task, the default affinity relationship indicating a build resource can execute any build execution task during a software build session. 7. The computer-implemented method of claim 1 , comprising assigning a type one affinity relationship to a build resource, a build task or both a build resource and a build task, the type one affinity relationship indicating a build resource can execute a specific build execution task and other build execution tasks during a software build session, and the specific build execution task cannot be executed by another build resource during a software build session. 8. The computer-implemented method of claim 1 , comprising assigning a type two affinity relationship to a build resource, a build task or both a build resource and a build task, the type two affinity relationship indicating a build resource can execute only a specific build execution task and no other build execution tasks during a software build session, and the specific build execution task can execute on other build resources. 9. The computer-implemented method of claim 1 , comprising assigning a type three affinity relationship to a build resource, a build task or both a build resource and a build task, the type three affinity relationship indicating a build resource can execute only a specific build execution task and no other build execution tasks during a software build session, and the specific build execution task can only execute on the build resource. 10. The computer-implemented method of claim 1 , comprising assigning a type four affinity relationship to a build resource, a build task or both a build resource and a build task, the type four affinity relationship indicating a build resource cannot execute a specific build execution task during a software build session, and the specific build execution task cannot be executed by the build resource during the software build session. 11. An article of manufacture comprising storage hardware containing instructions that when executed enable a system to: receive a plurality of build resources, each build resource comprising a build machine for assignment to a resource pool for a virtual software build platform, each build resource comprising a generic build machine having the ability to execute build execution tasks for building a software application during a software build session on the virtual software build platform, the virtual software build platform being operative to pack binary code for the software application into a software application package, the binary code being operative to run tests on the software application package and deploy the tested software application package to a production environment; install a task service module on the build machine for interoperation with a task manager for the virtual software build platform; provide customizable extension points to the virtual software build platform for additional build services; and assign one or more affinity relationships to at least one of a build machine or a build task, at least one affinity relationship to identify which of a plurality of build machines cannot execute a specific build execution task and at least one other affinity relationship to indicate which of the plurality of build machines can execute only the specific build execution task and no other build execution tasks during the software build session, wherein the specific build execution task can only execute on the build machine in an isolated environment. 12. The article of claim 11 , further comprising instructions that when executed enable the system to assign a default affinity relationship indicating a build machine can execute any build execution task during a software build session. 13. The article of claim 11 , further comprising instructions that when executed enable the system to assign a type one affinity relationship indicating a build machine can execute a specific build execution task and other build execution tasks during a software build session, and the specific build execution task cannot be executed by another build machine during a software build session. 14. The article of claim 11 , further comprising instructions that when executed enable the system to assign a type two affinity relationship indicating a build machine can execute only a specific build execution task and no other build execution tasks during a software build session, and the specific build execution task can execute on other build machines. 15. The article of claim 11 , further comprising instructions that when executed enable the system to continually modify the build execution tasks for execution by different build resources of the virtual software build platform. 16. The article of claim 11 , further comprising instructions that when executed enable the system to assign a type four affinity relationship indicating a build machine cannot execute a specific build execution task during a software build session, and the specific build execution task cannot be executed by the build machine during the software build session. 17.

Assignees

Inventors

Classifications

  • Software design · CPC title

  • G06F8/71Primary

    Version control (security arrangements therefor G06F21/57); Configuration management · 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 US9710261B2 cover?
Techniques to enhance software production are described. An apparatus may include a processor and a memory unit to couple to the processor. The memory unit may store a software build service that when executed by the processor is operative to receive a request to subscribe to the software build service from a software development client, create a virtual software build platform to build a softw…
Who is the assignee on this patent?
Frankin Douglas, Olewski Daniel, Jordan Kenneth, and 7 more
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 Jul 18 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 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).