API lifecycle platform and version management

US9830146B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9830146-B2
Application numberUS-201313912444-A
CountryUS
Kind codeB2
Filing dateJun 7, 2013
Priority dateJun 7, 2013
Publication dateNov 28, 2017
Grant dateNov 28, 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.

Systems and methods for managing the lifecycle of an API over a number of different versions of an operating system—as well as over a number of different platforms are disclosed. In one embodiment, a method is disclosed wherein for a given API, metadata is created and associated with certain constructs of the API. The metadata may comprise a version indication. A set of versioning rules may be defined. Such versioning rules govern whether a particular construct of an API may be changed for a given version. These versioning rules may be enforced at the time of constructing a new build. The versioning rules may be enforced by the IDE system.

First claim

Opening claim text (preview).

The invention claimed is: 1. A method for performing version control for Application Programming Interfaces (APIs) of an operating system, said operating system configured to be revised by version and by platform, said method comprising: for a given API, creating metadata associated with a plurality of constructs of said API, said metadata comprising version indication data, wherein said metadata comprises a version attribute, said version attribute further comprising a version introduction value, said version introduction value indicating each one of the plurality of constructs of said APl being introduced to a version of the operating system, and wherein said version indication data comprises a version value and a platform value, said version value denoting the version of the operating system in which the associated construct was revised, said platform value denoting the operating system platform associated with the version value, and wherein said metadata is created automatically from API description files; associating the version indication data for said each one of the plurality of constructs of said API, said version indication indicating when said respective one of the plurality of constructs of said API is to be revised into a given version of an operating system; defining versioning rules for said each one of the plurality of constructs of said API according to said metadata, wherein said each one of the plurality of constructs comprises at least one of a structure, an enum, an interface, and a composable class and wherein the versioning rules are dependent upon a given construct's version indication data; and based on construction of a new version of said operating system and said metadata associated with the plurality of constructs of said API, enforcing said versioning rules for each of the respective ones of said plurality of constructs of said API. 2. The method of claim 1 , wherein said metadata comprises a deprecatable version attribute, said deprecatable version attribute further comprising a version deprecation value, said version deprecation value associating said construct being removed in a version of an operating system. 3. The method of claim 1 , wherein sad set of versioning rules comprises a set of ruses that enforce permitted changes to a construct. 4. The method of claim 3 , wherein one versioning rule comprises a rule not to change a given construct, if said change breaks any existing compiled code of said operating system. 5. The method of claim 4 , wherein said structure may not be changed after said structure is published. 6. An integrated development environment (IDE) system, said IDE system comprising a hardware processor to execute a set of computer readable instructions to cause the hardware processor to perform a method for enforcing a plurality of constructs for an Application Programming Interface (API), said API constructed for a given version of an operating system and for a given platform, said IDE system comprising: a build tool configured to create metadata associated with the plurality of constructs of said API, said metadata comprising version indication data, wherein said metadata comprises a version attribute, said version attribute further comprising a version introduction value, said version introduction value indicating each one of the plurality of constructs of said API being introduced to a version of the operating system, and wherein said version indication data comprises a version value and a platform value, said version value denoting the version of the operating system in which the associated construct was revised, said platform value denoting the operating system platform associated with the version value, and wherein said metadata is created automatically from API description files; said build tool configured to receive metadata associated with the plurality of constructs for the API, said metadata comprising said version indication data; said build tool configured to define versioning rules for said each one of the plurality of constructs of said API according to said metadata, wherein said each of said plurality of constructs of said API comprises at least one of a structure, an enum, an interface, and a composable class and wherein the versioning rules are dependent upon a given construct's version indication data; said build tool configured to receive a plurality of versioning rules for respective ones of said plurality of constructs of said API; said build tool configured to associate said version indication data for said each one of the plurality of constructs of said API, said version indication indicating when the respective one of the plurality of constructs of said API is to be revised into a given version of an operating system, wherein said build tool is further configured to enforce said versioning rules for said respective ones of said plurality of constructs of said API, according to said metadata associated with the plurality of constructs and construction of a new version of said operating system. 7. The IDE system of claim 6 , wherein said metadata comprises a deprecatable attribute, said deprecatable attribute comprises a platform value, said platform value associating a version of an operating system with a riven platform. 8. The IDE system of claim 6 , wherein sad set of versioning rules comprises a set of rules that enforce permitted changes to a construct. 9. The IDE system of claim 6 , wherein one versioning rule comprises a rule not to change a given construct, if said change breaks any existing compiled code of said operating system. 10. A build tool, said build tool comprising: a hardware processor to execute a set of computer readable instructions to cause said hardware processor to perform a method for performing version control for Application Programming interfaces (APIs) of an operating system, said operating system configured to be revised by version and by platform, said method comprising: for a given API, creating metadata associated with a plurality of constructs of said API, said metadata comprising version indication data, wherein said metadata comprises a version attribute, said version attribute further comprising a version introduction value, said version introduction value indicating each one of the plurality of constructs of said AP being introduced to a version of the operating system, and wherein said version indication data comprises a version value and a platform value, said version value denoting the version of the operating system in which the associated construct was revised, said platform value denoting the operating system platform associated with the version value, and wherein said metadata is created automatically from API description files; associating said version indication data for said each one of the plurality of constructs of said API, said version indication data indicating when said respective one of the plurality of constructs of said API is to be introduced into a given version of an operating system; defining a set of versioning rules for said each one of the plurality of constructs of said API according to said metadata, wherein said each one of the plurality of constructs comprises at least one of a structure, an enum, an interface, and a composable class and wherein the versioning rules are dependent upon a given construct's version indication data; based on construction of a new version of said operating system and said metadata associated with said plurality of constructs of said API, enforcing said versioning rules for each of the respective ones of said plurality of constructs of said API. 11. The build tool of claim 10 , wherein said metadata comprises a deprecatable versi

Assignees

Inventors

Classifications

  • 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 US9830146B2 cover?
Systems and methods for managing the lifecycle of an API over a number of different versions of an operating system—as well as over a number of different platforms are disclosed. In one embodiment, a method is disclosed wherein for a given API, metadata is created and associated with certain constructs of the API. The metadata may comprise a version indication. A set of versioning rules may be …
Who is the assignee on this patent?
Microsoft Technology Licensing Llc
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 Nov 28 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 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).