Api versioning independent of product releases

US2016110229A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2016110229-A1
Application numberUS-201414515516-A
CountryUS
Kind codeA1
Filing dateOct 16, 2014
Priority dateOct 16, 2014
Publication dateApr 21, 2016
Grant date

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.

Technologies for a contract platform versioned according to the set of API contracts provided. API contracts are both development-time and run-time executable components. Each such contract defines a particular set of APIs that are fully supported at run-time by a corresponding implementation module. Contract applications are written to API contracts as opposed to the monolithic APIs of a legacy platform. Such applications are “platform agnostic”.

First claim

Opening claim text (preview).

1 . A method performed on a computing device that includes at least one processor and memory, the method for programmatically providing a feature to a contract application via an application programming interface (“API”) contract, the method comprising: hosting, by the computing device, the API contract that is configured for programmatically providing the feature to the application, where the API contract comprises identification information for the API contract, version information for the API contract and the feature, definition information that defines aspects of the feature, and executable code configured for responding to queries about the API contract. 2 . The method of claim 1 where the API contract is discoverable at run-time. 3 . The method of claim 1 where the API contract is associated with a corresponding executable module that implements at least a portion of the feature. 4 . The method of claim 1 where a type defined by the API contract includes a type version attribute that indicates the version of the contract at which the type was added to the contract. 5 . The method of claim 1 where the version information includes a current version of the API contract. 6 . The method of claim 5 where the current version is equal to or greater than all versions indicated by any type version attributes included in the definition information. 7 . The method of claim 1 where any types defined in the definition information are immutable or additively versioned. 8 . A system comprising a computing device and at least one program module that are together configured for performing actions for programmatically providing a feature to a contract application via an application programming interface (“API”) contract, the computing device including at least one processor and memory, the actions comprising: hosting, by the computing device, the API contract that is configured for programmatically providing the feature to the contract application, where the API contract comprises identification information for the API contract, version information for the API contract and the feature, definition information that defines aspects of the feature, and executable code configured for responding to queries about the API contract. 9 . The system of claim 8 where the API contract is discoverable at run-time. 10 . The system of claim 8 where the API contract is associated with a corresponding executable module that implements at least a portion of the feature. 11 . The system of claim 8 where a type defined by the API contract includes a type version attribute that indicates the version of the contract at which the type was added to the contract. 12 . The system of claim 8 where the version information includes a current version of the API contract. 13 . The system of claim 12 where the current version is equal to or greater than all versions indicated by any type version attributes included in the definition information. 14 . The system of claim 8 where any types defined in the definition information are immutable or additively versioned. 15 . At least one computer-readable medium storing computer-executable instructions that, when executed by at least one processor of a computing device, cause the computing device to perform actions programmatically providing a feature to a contract application via an application programming interface (“API”) contract, the computing device including at least one memory, the actions comprising: hosting, by the computing device, the API contract that is configured for programmatically providing the feature to the application, where the API contract comprises identification information for the API contract, version information for the API contract and the feature, definition information that defines aspects of the feature, and executable code configured for responding to queries about the API contract. 16 . The method of claim 15 where the API contract is discoverable at run-time. 17 . The method of claim 15 where the API contract is associated with a corresponding executable module that implements at least a portion of the feature. 18 . The method of claim 15 where a type defined by the API contract includes a type version attribute that indicates the version of the contract at which the type was added to the contract. 19 . The method of claim 15 where the version information includes a current version of the API contract that is equal to or greater than all versions indicated by any type version attributes included in the definition information. 20 . The method of claim 15 where any types defined in the definition information are immutable or additively versioned. 21 . A method performed on a computing device that includes at least one processor and memory, the method for programmatically providing features of a contract platform to a contract application via at least one set of application programming interface (“API”) contracts, the method comprising: hosting, by the computing device, the at least one set of API contracts that are each configured for programmatically providing one of the features to the contract application, where the each API contract comprises identification information for the each API contract, version information for the each API contract and its provided feature, definition information that defines aspects of its provided feature, and executable code configured for responding to queries about the each API contract. 22 . A method performed on a computing device that includes at least one processor and memory, the method for programmatically accessing, by a contract application, a feature provided via an application programming interface (“API”) contract, the method comprising: executing, by the computing device, the contract application that is configured for programmatically accessing, via the API contract, the feature, identification information of the API contract, version information of the API contract and the feature, definition information that defines aspects of the feature, and executable code configured for responding to queries about the API contract. 23 . A method performed on a computing device that includes at least one processor and memory, the method for programmatically accessing, by tooling of a development environment, a feature provided via an application programming interface (“API”) contract, the method comprising: executing, by the computing device, the tooling that is configured for programmatically accessing, via the API contract, the feature, identification information of the API contract, version information of the API contract and the feature, definition information that defines aspects of the feature, and executable code configured for responding to queries about the API contract.

Assignees

Inventors

Classifications

  • G06F8/30Primary

    Creation or generation of source code · CPC title

  • Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues · CPC title

  • G06F9/54Primary

    Interprogram communication · CPC title

  • via adapters, e.g. between incompatible applications · 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 US2016110229A1 cover?
Technologies for a contract platform versioned according to the set of API contracts provided. API contracts are both development-time and run-time executable components. Each such contract defines a particular set of APIs that are fully supported at run-time by a corresponding implementation module. Contract applications are written to API contracts as opposed to the monolithic APIs of a legac…
Who is the assignee on this patent?
Microsoft Corp
What technology area does this patent fall under?
Primary CPC classification G06F8/30. Mapped technology areas include Physics.
When was this patent published?
Publication date Thu Apr 21 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). 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).