IP Library Granted Patent US 9,686,278
Granted Patent B1
US 9,686,278 · App. 14/705,589 · Granted Jun 20, 2017

Method and system for configuring computing devices

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: Skyport Systems, Inc.
H04L63/0876G06F12/0811G06F12/0824H04L63/0457G06F2212/283
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 9,686,278
App. No.
14/705,589
Granted
Jun 20, 2017
Kind
B1
Abstract

A method and system for configuring computing devices. The method includes receiving, by a computing device, a first cache list object from a management service. The method also includes comparing the first cache list object to a second cache list object on the computing device, and based on the comparing, identifying a first object fingerprint that is present in the first cache list object and that is not present in the second cache list object. The method further includes obtaining, from a location that is external to the computing device, a first object corresponding to the first object fingerprint; and updating a configuration of the computing device using the first object.

Claims (77)

1. A method for configuring computing devices, comprising:

receiving, by a computing device, a first cache list object from a management service;

comparing the first cache list object to a second cache list object on the computing device;

based on the comparing, identifying a first object fingerprint that is present in the first cache list object and that is not present in the second cache list object;

obtaining, from a location that is external to the computing device, a first object corresponding to the first object fingerprint;

updating a configuration of the computing device using the first object;

based on the comparing, identifying a second object fingerprint that is present on the second cache list object and that is not present in the first cache list object; and

removing, from the computing device, a second object corresponding to the second object fingerprint,

wherein updating the configuration of the computing device is performed after removing the second object, and

wherein updating the configuration does not use any object content from the second object.

2. The method of claim 1 , wherein the first object comprises object content, wherein the updating the configuration comprises using the object content.

3. The method of claim 2 , wherein the object content is a software image.

4. The method of claim 2 , wherein the object content is a credential.

5. The method of claim 1 , wherein the first object comprises reference information, wherein the reference information comprises a second location of object content for the first object, an authentication code associated with the second location and a fingerprint associated with the object content.

6. The method of claim 5 , further comprising:

sending a request for the object content to the second location, wherein the request comprises the authentication code;

receiving encrypted object content from the second location;

decrypting the encrypted object content to obtain the object content; and

verifying the object content using the fingerprint associated with the object content,

wherein updating the configuration comprises using the object content.

7. The method of claim 6 , further comprising:

generating, by a trusted platform module on the computing device, a public-private key pair; and

providing the public key to the second location;

wherein the encrypted object content is encrypted using the public key,

wherein the encrypted object content is decrypted using the private key.

8. The method of claim 5 , wherein the second location is a second computing device, wherein the computing device is managed by the management service.

9. The method of claim 1 , wherein the location is the management service.

10. The method of claim 1 , further comprising:

generating, by the computing device and after the updating, a third cache list object using at least the first object;

generating, by the computing device, a cache list pointer using the third cache list object; and

providing the cache list pointer to the management service.

11. A non-transitory computer readable medium comprising computer readable program code, which when executed by a computer processor enables the computer processor to:

receive, by a computing device, a first cache list object from a management service;

compare the first cache list object to a second cache list object on the computing device;

based on the comparing, identify a first object fingerprint that is present on the first cache list object and that is not present in the second cache list object;

obtain, from a location that is external to the computing device, a first object corresponding to the first object fingerprint;

update a configuration of the computing device using the first object;

based on the comparing, identify a second object fingerprint that is present on the second cache list object and that is not present in the first cache list object; and

remove, from the computing device, a second object corresponding to the second object fingerprint,

wherein updating the configuration of the computing device is performed after removing the second object, and

wherein updating the configuration does no use any object content from the second object.

12. The non-transitory computer readable medium of claim 11 , wherein the first object comprises object content, wherein the updating the configuration comprises using the object content.

13. The non-transitory computer readable medium of claim 12 , wherein the object content comprises at least one selected from a group consisting of a software image and a credential.

14. The non-transitory computer readable medium of claim 11 , further comprising computer readable program code, which when executed by the computer processor enables the computer processor to:

send a request for the object content to a second location, wherein the first object comprises reference information, wherein the reference information specifies the second location for object content for the first object and comprises an authentication code associated with the second location and a fingerprint associated with the object content, wherein the request comprises the authentication code;

receive encrypted object content from the second location;

decrypt the encrypted object content to obtain the object content; and

verify the object content using the fingerprint associated with the object content,

wherein updating the configuration comprises using the object content.

15. The non-transitory computer readable medium of claim 11 , further comprising computer readable program code, which when executed by the computer processor enables the computer processor to:

generate, by the computing device and after the updating, a third cache list object using at least the first object;

generate, by the computing device, a cache list pointer using the third cache list object; and

provide the cache list pointer to the management service.

16. A computing device, comprising:

a server comprising a processor and a non-transitory computer readable medium comprising computer readable program code, which when executed by the processor enables the server to:

provide at least one integrity measurement for the server to a management service;

receive, after providing the at least one integrity measurement, a first cache list object from a management service;

compare the first cache list object to a second cache list object on the computing device;

based on the comparing, identify a first object fingerprint that is present on the first cache list object and that is not present in the second cache list object;

obtain, from a location that is external to the computing device, a first object corresponding to the first object fingerprint;

update a configuration of the computing device using the first object;

based on the comparing, identify a second object fingerprint that is present in the second cache list object and that is not present in the first cache list object; and

remove, from the computing device, a second object corresponding to the second object fingerprint,

wherein updating the configuration of the computing device is performed after removing the second object, and

wherein updating the configuration does not use any object content from the second object.

17. The computing device of claim 16 ,

wherein the server further comprises a trusted platform module configured to generate a public-private key pair;

wherein the non-transitory computer readable medium further comprises computer readable program code, which when executed by the processor enables the server to:

send a request for the object content to a second location, wherein the first object comprises reference information, wherein the reference information specifies the second location for object content for the first object and comprises an authentication code associated with the second location and a fingerprint associated with the object content, wherein the request comprises the authentication code;

provide the public key to the second location;

receive encrypted object content from the second location;

decrypt, using the private key, the encrypted object content to obtain the object content; and

verify the object content using the fingerprint associated with the object content,

wherein updating the configuration comprises using the object content.

18. The computing device of claim 16 , further comprising:

a network adaptor operatively connected to the server,

wherein the network adaptor is configured to provide at least one integrity measurement for the network adaptor to the management service prior to the computing device receiving the first cache list object.

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/0398 →
Continuity (1)
Provisional Application 61989957 · May 7, 2014