IP Library Granted Patent US 10,193,879
Granted Patent B1
US 10,193,879 · App. 14/705,847 · Granted Jan 29, 2019

Method and system for software application deployment

Inventors: Robert Stephen Rodgers (Mountain View, CA); William Norman Eatherton (San Jose, CA); Michael John Beesley (Atherton, CA); Stefan Alexander Dyckerhoff (Palo Alto, CA); Philippe Gilbert Lacroute (Sunnyvale, CA); Edward Ronald Swierk (Mountain View, CA); Neil Vincent Geraghty (San Francisco, CA); Keith Eric Holleman (Campbell, CA); Thomas John Giuli (Mountain View, CA); Srivatsan Rajagopal (Cupertino, CA); Paul Edward Fraley (Sunnyvale, CA); Vijay Krishnaji Tapaskar (Palo Alto, CA); Daniel Sergeevich Selifonov (Mountain View, CA); Keith Anthony Low (San Mateo, CA)
Assignee: Cisco Technology, Inc.
H04L63/0823G06F17/30887G06F17/30914H04L61/1511
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,193,879
App. No.
14/705,847
Granted
Jan 29, 2019
Kind
B1
Abstract

A method and system for deploying applications. The method includes deploying an application image of an application to a computing device, where the application is accessible using a first uniform resource locator (URL). The method also includes sending an application creation message to an authoritative domain name system (DNS) server to create a record mapping the first URL to a second URL. The first URL is in a first domain and the second URL is in a second domain. The method further includes providing, to the computing device, a digital certificate associated with the application. The method further includes generating certificate data using the digital certificate and sending, to a remote application server, the second URL and certificate data. A client software module may establish a connection to the application on the computing device using the second URL and the certificate data.

Claims (46)

1. A method for deploying applications, the method comprising:

deploying an application from an application image in an application virtual machine of a computing device, wherein the application is accessible using a first uniform resource locator (URL);

sending an application creation message to an authoritative domain name system (DNS) server to create a record mapping the first URL to a second URL, wherein the first URL is in a first domain and the second URL is in a second domain;

providing, to a service virtual machine (SVM) of the computing device, a digital certificate associated with the application virtual machine, wherein the service virtual machine is configured to store the digital certificate isolated from and inaccessible by the application virtual machine, and wherein the service virtual machine is separate from a certificate authority that issues the digital certificate;

generating, by the service virtual machine and in response to one or more applications requesting communication based on the digital certificate, certificate data using the digital certificate; and

sending, to a remote application server comprising a client software module, the second URL and the certificate data,

wherein the client software module is configured to establish a connection to the application on the computing device using the second URL and the certificate data.

2. The method of claim 1 , further comprising:

receiving the application image from the remote application server.

3. The method of claim 1 , wherein deploying the application comprises:

providing the application image to the computing device; and

instructing the computing device to load the application image in the application virtual machine.

4. The method of claim 1 , wherein the first URL is in a secure computing platform domain, wherein the authoritative DNS server is an authoritative DNS server for the secure computing platform domain, wherein the second URL is in an enterprise domain, and wherein the application is executing within the enterprise domain.

5. The method of claim 1 , wherein the first URL is in an application provider domain, wherein the authoritative DNS server is an authoritative DNS server for the application provider domain, wherein the second URL is in an enterprise domain, and wherein the application is executing within the enterprise domain.

6. The method of claim 1 , further comprising:

prior to deploying the application, verifying an integrity of the computing device.

7. The method of claim 6 , wherein verifying the integrity of the computing device comprises receiving at least one integrity measurement for the computing device.

8. The method of claim 1 , wherein the digital certificate conforms to the X.509 standard.

9. The method of claim 1 , wherein generating the certificate data using the digital certificate comprises hashing the digital certificate.

10. A non-transitory computer readable medium comprising computer readable program code executed by a computer processor to perform the steps of:

deploying an application from an application image in an application virtual machine of a computing device, wherein the application is accessible using a first uniform resource locator (URL)

sending an application creation message to an authoritative domain name system (DNS) server to create a record mapping the first URL to a second URL, wherein the first URL is in a first domain and the second URL is in a second domain;

providing, to a service virtual machine (SVM) of the computing device, a digital certificate associated with the application virtual machine, wherein the service virtual machine is configured to store the digital certificate isolated from and inaccessible by the application, and wherein the service virtual machine is separate from a certificate authority that issues the digital certificate;

generating, by the service virtual machine and in response to one or more applications requesting communication based on the digital certificate, certificate data using the digital certificate; and

sending, to a remote application server comprising a client software module, the second URL and the certificate data,

wherein the client software module is configured to establish a connection to the application on the computing device using the second URL and the certificate data.

11. The non-transitory computer readable medium of claim 10 , further comprising computer readable program code executed by a computer processor to perform the step of:

receiving the application image from the remote application server.

12. The non-transitory computer readable medium of claim 10 , wherein deploying the application comprises:

providing the application image to the computing device; and

instructing the computing device to load the application image in the application virtual machine.

13. The non-transitory computer readable medium of claim 10 , wherein the first URL is in a secure computing platform domain, wherein the authoritative DNS server is an authoritative DNS server for the secure computing platform domain, wherein the second URL is in an enterprise domain, and wherein the application is executing within the enterprise domain.

14. The non-transitory computer readable medium of claim 10 , wherein the first URL is in an application provider domain, wherein the authoritative DNS server is an authoritative DNS server for the application provider domain, wherein the second URL is in an enterprise domain, and wherein the application is executing within the enterprise domain.

15. The non-transitory computer readable medium of claim 10 , further comprising computer readable program code executed by a computer processor to perform the step of:

prior to deploying the application, verifying an integrity of the computing device.

16. The non-transitory computer readable medium of claim 15 , wherein verifying the integrity of the computing device comprises receiving at least one integrity measurement for the computing device.

17. The non-transitory computer readable medium of claim 10 , wherein the digital certificate conforms to the X.509 standard.

18. The non-transitory computer readable medium of claim 10 , wherein generating the certificate data using the digital certificate comprising hashing the digital certificate.

19. A method for deploying applications, the method comprising:

deploying an application image in an application virtual machine of a computing device, wherein the application virtual machine is accessible using a uniform resource locator (URL);

sending an application creation message to an authoritative domain name system (DNS) server to create a record mapping the URL to an Internet Protocol (IP) address associated with the computing device, wherein the URL is in a domain and the authoritative DNS is not the authoritative DNS server for the domain;

providing, to a service virtual machine (SVM) of the computing device, a digital certificate associated with the application virtual machine, wherein the service virtual machine is configured to store the digital certificate isolated from and inaccessible by the application virtual machine, and wherein the service virtual machine is separate from a certificate authority that issues the digital certificate;

generating, by the service virtual machine and in response to one or more applications requesting communication based on the digital certificate, certificate data using the digital certificate; and

sending, to a remote application server comprising a client software module, the URL and the certificate data,

wherein the client software module is configured to establish a connection to an application in the application virtual machine on the computing device using the URL and the certificate data.

20. The method of claim 19 , wherein the certificate data comprises one selected from a group consisting of a hash value of the digital certificate, a hash value of a public key in the digital certificate, and the public key.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 26, 2018
From: SKYPORT SYSTEMS LLC
To: CISCO TECHNOLOGY, INC.
Reel/Frame 046985/0381 →
CHANGE OF NAME Recorded Sep 26, 2018
From: SKYPORT SYSTEMS, INC.
To: SKYPORT SYSTEMS LLC
Reel/Frame 047156/0673 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 30, 2015
From: RODGERS, ROBERT STEPHEN; EATHERTON, WILLIAM NORMAN; BEESLEY, MICHAEL JOHN; DYCKERHOFF, STEFAN ALEXANDER; LACROUTE, PHILIPPE GILBERT; SWIERK, EDWARD RONALD; GERAGHTY, NEIL VINCENT; HOLLEMAN, KEITH ERIC; GIULI, THOMAS JOHN; RAJAGOPAL, SRIVATSAN; FRALEY, PAUL EDWARD; TAPASKAR, VIJAY KRISHNAJI; SELIFONOV, DANIEL SERGEEVICH; LOW, KEITH ANTHONY
To: SKYPORT SYSTEMS, INC.
Reel/Frame 035959/0356 →
Continuity (1)
Provisional Application 61989957 · May 7, 2014