Systems and methods for bridging between public and private clouds through multilevel API integration

US9917865B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9917865-B2
Application numberUS-201314047602-A
CountryUS
Kind codeB2
Filing dateOct 7, 2013
Priority dateOct 16, 2012
Publication dateMar 13, 2018
Grant dateMar 13, 2018

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.

The present disclosure is directed to multi-level application programming interface (API) integration of a distributed enterprise application architecture deployed across datacenter/private cloud and public cloud, such as end-to-end configuration of bridging two virtual or physical datacenters via a cloud bridge using simple/user-friendly configuration interfaces and API calls. Seamless integration of infrastructure from various providers with proprietary APIs can be achieved, without requiring user intervention or reconfiguration. Accordingly, the solution masks the inherent complexity and architectural expertise required to effectively use the cloud bridging solution with the various Infrastructure-as-a-Service (IaaS) architectures and technologies.

First claim

Opening claim text (preview).

What is claimed: 1. A method for infrastructure-independent configuration of a plurality of virtual machines across different virtualization architectures, comprising: receiving, by a device deployed as an intermediary to a plurality of clients and a plurality of servers operated by a plurality of infrastructure providers, a request to access at least one virtual machine hosted by a server of a virtualization infrastructure of a selected infrastructure provider from the plurality of infrastructure providers, the request comprising access credentials; identifying, by the device, a predetermined request format corresponding to the selected infrastructure provider from a plurality of predetermined request formats corresponding to the plurality of infrastructure providers; establishing, by the device, a first connection to a server of the virtualization infrastructure of the selected infrastructure provider; transmitting, by the device to the server via the first connection, a request in the predetermined request format, the request comprising the access credentials for authentication by the server; receiving, by the device from the server, a response granting access to the virtualization infrastructure and identifying an address corresponding to a layer of a virtualization stack for the virtualization infrastructure including a hypervisor executing a virtual machine, the virtual machine, and a virtual appliance executed by the virtual machine; establishing a second connection, by the device, to a second server at the identified address in the response; determining, by the device, whether the second server is executed by the hypervisor, the virtual machine, or the virtual appliance; selecting, by the device, a second predetermined request format from among a plurality of predetermined request formats corresponding to the hypervisor based on determining that the second server is executed by the hypervisor, the virtual machine based on determining that the second server is executed by the virtual machine, and the virtual appliance based on determining that the second server is executed by the virtual appliance; and transmitting, by the device to the second server, an access request via the second connection using the second predetermined request format of the corresponding hypervisor, virtual machine, or virtual appliance, responsive to selecting the second predetermined request format a from among the plurality of predetermined request formats. 2. The method of claim 1 , wherein the second server is executed by the hypervisor, and wherein transmitting the access request further comprises: transmitting, by the device to the hypervisor, a request for identification of at least one virtual machine executed by the hypervisor; receiving, from the hypervisor, an identification of the at least one virtual machine, including an address of each virtual machine of the at least one virtual machines; determining, by the device, that a first virtual machine of the at least one virtual machines executes the virtual appliance; establishing a third connection, by the device, to the first virtual machine at the identified address; transmitting, by the device to the first virtual machine, a request for identification of the virtual appliance; receiving, from the first virtual machine, an identification of the virtual appliance, including an address of the virtual appliance; establishing a fourth connection, by the device, to the virtual appliance; and transmitting the access request, by the device to the virtual appliance, in a third predetermined format corresponding to the virtual appliance. 3. The method of claim 2 , wherein the second predetermined format comprises a XenServer application programming interface (API), and wherein the third predetermined format comprises a representational state transfer (REST) based API via JavaScript Object Notation (JSON). 4. The method of claim 1 , wherein the second server is executed by the virtual machine, and wherein transmitting the access request further comprises: transmitting, by the device to the virtual machine, a request for identification of the virtual appliance; receiving, from the first virtual machine, an identification of the virtual appliance, including an address of the virtual appliance; establishing a third connection, by the device, to the virtual appliance; and transmitting the access request, by the device to the virtual appliance, in a third predetermined format corresponding to the virtual appliance. 5. The method of claim 4 , wherein the infrastructure provider provides no remote access to the hypervisor. 6. The method of claim 1 , wherein the second server is executed by the virtual appliance. 7. The method of claim 1 , wherein the predetermined request format comprises a uniform resource locator (URL) query based application programming interface (API). 8. The method of claim 1 , wherein the predetermined request format comprises a representational state transfer (REST) API. 9. The method of claim 1 , further comprising: establishing a network bridge between the device via the virtual appliance via a secure internet protocol (IP) layer tunnel to bridge a first network connected to the device and a second network connected to the virtual appliance; receiving a request, by the device from a requesting device on the first network, for a resource at a destination identified by an IP address of the first network and hosted by a device on the second network connected to the virtual appliance; transmitting the request, by the device via the network bridge, to the virtual appliance, the virtual appliance forwarding the request to the device on the second network; receiving a response, by the device via the network bridge from the virtual appliance, the response generated by the device on the second network and forwarded by the virtual appliance; and forwarding the response, by the device, to the requesting device. 10. The method of claim 9 , wherein receiving a request for a resource identified by an IP address of the first network and hosted by a device on the second network connected to the virtual machine further comprises: receiving, by the device, the request for the resource at the IP address of the first network, determining, by the device, that the resource is located on the second network, and encapsulating, by the device, the request inside a routing encapsulation protocol for transmission via the network bridge. 11. A system for infrastructure-independent configuration of a plurality of virtual machines across different virtualization architectures, comprising: a device deployed as an intermediary to a plurality of clients and a plurality of servers operated by a plurality of infrastructure providers, comprising a processor and network interface, configured for: receiving a request to access at least one virtual machine hosted by a server of a virtualization infrastructure of a selected infrastructure provider from the plurality of infrastructure providers, the request comprising access credentials, identifying a predetermined request format corresponding to the selected infrastructure provider from a plurality of predetermined request formats corresponding to the plurality of infrastructure providers, establishing a first connection to a server computing device of the virtualization infrastructure of the selected infrastructure provider, transmitting, to the server computing device via the first connection, a request in the predetermined request format, the request comprising the access credentials for authentication by the server computing device, receiving, from the server computing device, a response gran

Assignees

Inventors

Classifications

  • Electricity · mapped topic

  • Session establishment or de-establishment · CPC title

  • H04L67/141Primary

    Setup of application sessions (admission control or resource allocation in data switching networks H04L47/70) · CPC title

  • Logical partitioning of resources; Management or configuration of virtualized resources (specific details on emulation or internal functioning of virtual machines G06F9/455) · CPC title

  • for authentication of entities (cryptographic mechanisms or cryptographic arrangements for entity authentication H04L9/32) · 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 US9917865B2 cover?
The present disclosure is directed to multi-level application programming interface (API) integration of a distributed enterprise application architecture deployed across datacenter/private cloud and public cloud, such as end-to-end configuration of bridging two virtual or physical datacenters via a cloud bridge using simple/user-friendly configuration interfaces and API calls. Seamless integra…
Who is the assignee on this patent?
Citrix Systems Inc
What technology area does this patent fall under?
Primary CPC classification H04L65/1069. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Mar 13 2018 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).