Application programming interface (API) hub

US10331505B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10331505-B2
Application numberUS-201615199847-A
CountryUS
Kind codeB2
Filing dateJun 30, 2016
Priority dateJun 30, 2016
Publication dateJun 25, 2019
Grant dateJun 25, 2019

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.

Embodiments are directed to a system for controlling access to remote services, comprising an application programming interface (API) hub configured to provide an interface between a client application and one or more remote services. The client application accesses the API hub using a common data protocol, such as OData, that is not associated with the remote services. The API hub selects a connectors based upon the targeted remote service and maps a user context associated with messages received from the client application to remote service credentials associated with the targeted remote service.

First claim

Opening claim text (preview).

What is claimed is: 1. A system for controlling access to remote services, comprising: an application programming interface (API) hub configured to provide a first interface to a client application and to provide a second interface to one or more remote services, wherein the first interface configured to communicate messages using a common data protocol that is not associated with the one or more remote services, and wherein the second interface comprises API connectors that are selected based upon a targeted one of the remote services; the API hub configured to map a user context associated with messages received on the first interface to remote service credentials associated with the targeted one of the remote services, wherein mapping comprises transforming user credentials associated with the user context into remote service credentials, the remote service credentials required to connect, using an API connector associated with the targeted one of the remote services, to the targeted one of the remote services. 2. The system of claim 1 , wherein the API hub is a component of a distributed computing network, and wherein the client application is running on a device remote from the distributed computing network. 3. The system of claim 1 , wherein the API hub is a component of a distributed computing network, and wherein the client application is running on a virtual machine on the distributed computing network. 4. The system of claim 1 , further comprising: an access control service coupled to the API hub, the access control service configured to identify to the API hub whether a particular user has access to a connection to the targeted one of the remote services. 5. The system of claim 1 , wherein the API hub is further configured to establish a security boundary between the client application and the one or more remote services, wherein establishing the security boundary restricts access, of the client application, to the remote service credentials. 6. The system of claim 1 , wherein the API hub is further configured to establish a security boundary between the client application and the one or more remote services, wherein establishing the security boundary restricts access of the one or more remote services, to the user context associated with the messages received on the first interface. 7. The system of claim 1 , wherein the API hub is configured to enforce quota, rate limits, or usage parameters for accessing the one or more remote services, wherein the one or more remote services comprise services selected from storage services, database services, messaging services, Software as a Service (SaaS) platforms, collaboration and document management platforms, and customer relationship management (CRM) services. 8. The system of claim 1 , wherein the remote service credentials comprise security tokens associated with a specific service and a specific user. 9. A computer-implemented method for controlling access to remote services, comprising: receiving messages using a common data protocol at an application programming interface (API) hub over a first interface to a client application; mapping, by the API hub, a user context associated with the messages received on the first interface to remote service credentials associated with a targeted remote service, wherein mapping comprises transforming user credentials associated with the user context into the remote service credentials, the remote service credentials required to connect, using an API connector associated with the targeted remote service, to the targeted remote service; selecting, by the API hub, the API connector associated with the targeted remote service; and communicating the messages to the targeted remote service using the API connector. 10. The method of claim 9 , wherein the common data protocol is not associated with the remote services; and wherein the API connector is associated with a data protocol that is specific to the targeted remote service. 11. The method of claim 9 , wherein the messages comprise Create Read Update Delete (CRUD) operations. 12. The method of claim 9 , wherein the API hub is a component of a distributed computing network, and wherein the client application is running on a device remote from the distributed computing network. 13. The method of claim 9 , wherein the API hub is a component of a distributed computing network, and wherein the client application is running on a virtual machine on the distributed computing network. 14. The method of claim 9 , further comprising: receiving, at the API hub, information from an access control service identifying whether a particular user has access to a connection to the targeted one of the remote services. 15. The method of claim 9 , wherein the API hub is further configured to establish a security boundary between the client application and the one or more remote services, wherein establishing the security boundary restricts access, of the client application, to the remote service credentials. 16. The method of claim 9 , wherein the API hub is further configured to establish a security boundary between the client application and the one or more remote services, wherein establishing the security boundary restricts access of the one or more remote services, to the user context associated with the messages received on the first interface. 17. The method of claim 9 , wherein the API hub is configured to enforce quota, rate limits, or usage parameters for accessing the one or more remote services, wherein the one or more remote services comprise services selected from storage services, database services, messaging services, Software as a Service (SaaS) platforms, collaboration and document management platforms, and customer relationship management (CRM) services. 18. The method of claim 9 , wherein the remote service credentials comprise security tokens associated with a specific service and a specific user. 19. A computer system, comprising: one or more processors; system memory; one or more computer-readable storage media having stored thereon computer-executable instructions that, when executed by the one or more processors, causes the processors to perform a method for controlling access to remote services, the processor operating to: receive a message using a common data protocol at an application programming interface (API) hub over a first interface to a client application; map, by the API hub, a user context associated with the message received on the first interface to remote service credentials associated with a targeted remote service, wherein mapping comprises transforming user credentials associated with the user context into the remote service credentials, the remote service credentials required to connect, using an API connector associated with the targeted remote service, to the targeted remote service; select, by the API hub, an API connector for the targeted remote service; and communicate the message to the targeted remote service using the API connector. 20. The computer system of claim 19 , wherein the API hub establishes a security boundary between the client application and the targeted remote service, wherein establishing the security boundary restricts access, of the client application, to the remote service credentials; or wherein the API hub establishes a security boundary between the client application and the targeted remote service, wherein establishing the security boundary restricts access, of the one or more remote services, to the user contex

Assignees

Inventors

Classifications

  • in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46) · CPC title

  • G06F9/547Primary

    Remote procedure calls [RPC]; Web services · CPC title

  • Interprogram communication · CPC title

  • Hypervisor-specific management and integration aspects · CPC title

  • Allocation of resources, e.g. of the central processing unit [CPU] · 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 US10331505B2 cover?
Embodiments are directed to a system for controlling access to remote services, comprising an application programming interface (API) hub configured to provide an interface between a client application and one or more remote services. The client application accesses the API hub using a common data protocol, such as OData, that is not associated with the remote services. The API hub selects a co…
Who is the assignee on this patent?
Microsoft Technology Licensing Llc
What technology area does this patent fall under?
Primary CPC classification G06F9/547. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jun 25 2019 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).