IP Library Granted Patent US 12,340,197
Granted Patent B2
US 12,340,197 · App. 17/940,597 · Granted Jun 24, 2025

Package distribution and installation in response to user logon

Inventors: Shravan Shantharam (Cumming, GA); Blake Ryan Watts (St. George, UT); Kalyan Regula (Alpharetta, GA); Varun Murthy (Atlanta, GA); Jason Roszak (Brookhaven, GA); Nitin Radhakrishna Rao (Atlanta, GA); Mohan Guttikonda (Bangalore, IN)
Assignee: Omnissa, LLC
G06F8/61G06F8/65G06F9/44505G06F21/125G06F21/64H04L9/0643H04L9/3247
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 12,340,197
App. No.
17/940,597
Granted
Jun 24, 2025
Kind
B2
Abstract

Disclosed are various implementations for distributing and installing packages in response to user logon events. A logon event associated with a user account is detected for a client device. A query containing a respective user account identifier is sent to a provisioning service to retrieve a set of packages to install on the client device. The set of packages are received from the provisioning service and installed on the client device.

Claims (52)

1. A system for automatically provisioning applications, comprising:

at least one computing device comprising a processor and a memory; and

machine-readable instructions stored in the memory that, when executed by the processor, cause the at least one computing device to:

detect a logon event for the at least one computing device, the logon event being associated with a user account;

determine device information of the at least one computing device and a user account identifier associated with the user account logging on the at least one computing device;

send a discovery request to a discovery service for an identity of a provisioning service, the discovery request including the device information, wherein the discovery service identifies the provisioning service based on the device information;

receive, from the discovery service, a locator of the provisioning service and one or more cryptographic certificates of the provisioning service;

provide a query comprising the user account identifier associated with the user account to the provisioning service based on the locator to retrieve a set of packages corresponding to the user account identifier to install on the at least one computing device;

receive the set of packages for the user account from the provisioning service;

verify that the set of packages is received from an authorized source based on the one or more cryptographic certificates received from the discovery service; and

upon verifying the set of packages, install, on the at least one computing device, individual packages from the set of packages.

2. The system of claim 1 , wherein the set of packages is based at least in part on a list of packages currently installed on the at least one computing device.

3. The system of claim 1 , wherein the query comprises the user account identifier for the user account and the device information of the at least one computing device.

4. The system of claim 1 , wherein the machine-readable instructions, when executed by the processor, further cause the at least one computing device to at least determine that the logon event is a first login event associated with the user account.

5. The system of claim 1 , wherein the machine-readable instructions that cause the at least one computing device to verify that the set of packages is received from the authorized source further cause the at least one computing device to at least validate at least one cryptographic signature associated with the set of packages based at least in part on a public key specified in the one or more cryptographic certificates.

6. The system of claim 1 , wherein the machine-readable instructions that cause the at least one computing device to install on the at least one computing device the individual packages from the set of packages further cause the at least one computing device to at least:

cause an installation of an application included in an individual package from the set of packages; and

configure the application based at least in part on at least one configuration setting included in a file from the individual package.

7. The system of claim 1 , wherein the machine-readable instructions, when executed by the processor, further cause the at least one computing device to at least confirm that a first hash from the provisioning service matches a second hash generated by a provisioning agent executing on the at least one computing device.

8. A method for automatically provisioning applications, comprising:

detecting a logon event for a client device, the logon event being associated with a user account;

determining device information of the client device and a user account identifier associated with the user account logging on the client device;

sending a discovery request to a discovery service for an identity of a provisioning service, the discovery request including the device information, wherein the discovery service identifies the provisioning service based on the device information;

receiving, from the discovery service, a locator of the provisioning service and one or more cryptographic certificates of the provisioning service;

sending a query comprising the user account identifier associated with the user account to the provisioning service based on the locator to retrieve a set of packages corresponding to the user account identifier to install on the client device;

receiving the set of packages for the user account from the provisioning service;

verifying that the set of packages are received from an authorized source based on the one or more cryptographic certificates received from the discovery service; and

upon verifying the set of packages, installing, on the client device, individual packages in the set of packages.

9. The method of claim 8 , wherein the set of packages is based at least in part on a list of packages currently installed on the client device.

10. The method of claim 8 , wherein the query comprises the user account identifier for the user account and the device information of the client device.

11. The method of claim 8 , further comprising determining that the logon event is a first login event associated with the user account.

12. The method of claim 8 , wherein verifying that the set of packages is received from the authorized source further comprises validating at least one cryptographic signature associated with the set of packages based at least in part on a public key specified in the one or more cryptographic certificates.

13. The method of claim 8 , wherein installing on the client device the individual packages from the set of packages further comprises:

causing an installation of an application included in an individual package from the set of packages; and

configuring the application based at least in part on at least one configuration setting included in a file from the individual package.

14. The method of claim 8 , further comprising confirming that a first hash from the provisioning service matches a second hash generated by a provisioning agent executing on the client device.

15. A non-transitory computer-readable medium for automatically provisioning applications, the non-transitory computer-readable medium comprising machine-readable instructions that, when executed by a processor, cause at least one computing device to:

detect a logon event for the at least one computing device, the logon event being associated with a user account;

determine device information of the at least one computing device and a user account identifier associated with the user account logging on the at least one computing device;

send a discovery request to a discovery service for an identity of a provisioning service, the discovery request including the device information, wherein the discovery service identifies the provisioning service based on the device information;

receive, from the discovery service, a locator of the provisioning service and one or more cryptographic certificates of the provisioning service;

send a query comprising the user account identifier associated with the user account to the provisioning service based on the locator to retrieve a set of packages corresponding to the user account identifier to install on the at least one computing device;

receive the set of packages for the user account from the provisioning service;

verify that the set of packages are received from an authorized source based on the one or more cryptographic certificates received from the discovery service; and

upon verifying the set of packages, install, on the at least one computing device, individual packages in the set of packages.

16. The non-transitory computer-readable medium of claim 15 , wherein the query comprises the user account identifier for the user account and the device information of the at least one computing device.

17. The non-transitory computer-readable medium of claim 15 , wherein the machine-readable instructions, when executed by the processor, further cause the at least one computing device to at least determine that the logon event is a first login event associated with the user account.

18. The non-transitory computer-readable medium of claim 15 , wherein the machine-readable instructions that cause the at least one computing device to verify that the set of packages is received from the authorized source further cause the at least one computing device to at least validate at least one cryptographic signature associated with the set of packages based at least in part on a public key specified in the one or more cryptographic certificates.

19. The non-transitory computer-readable medium of claim 15 , wherein the machine-readable instructions that cause the at least one computing device to install on the at least one computing device the individual packages from the set of packages further cause the at least one computing device to at least:

cause an installation of an application included in an individual package from the set of packages; and

configure the application based at least in part on at least one configuration setting included in a file from the individual package.

20. The non-transitory computer-readable medium of claim 15 , wherein the set of packages is based at least in part on a list of packages currently installed on the at least one computing device.

Assignments (3)
PATENT ASSIGNMENT Recorded Aug 5, 2024
From: VMWARE LLC
To: OMNISSA, LLC
Reel/Frame 068327/0365 →
SECURITY INTEREST Recorded Jul 3, 2024
From: OMNISSA, LLC
To: UBS AG, STAMFORD BRANCH
Reel/Frame 068118/0004 →
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0242 →
Continuity (2)
Continuation 16250404 · Jan 17, 2019
Related Publication 20230004371A1 · Jan 5, 2023
References Cited (11)
US 20050075115A1 · Corneille · 2005 [cited by examiner]
US 20060253693A1 · Kanodia · 2006 [cited by examiner]
US 20130130653A1 · Deasy · 2013 [cited by examiner]
US 20130152067A1 · Fernandez-Ruiz · 2013 [cited by examiner]
US 20150026675A1 · Csaszar · 2015 [cited by examiner]
US 20160034265A1 · Nguyen · 2016 [cited by examiner]
US 20180248702A1 · Wu · 2018 [cited by examiner]
US 20180367315A1 · Chen · 2018 [cited by examiner]
Viquez Zamora, Jose. “IoT Application Provisioning Service.” Aalto University, School of Science, Master's Degree Programme in Security and Mobile Computing (2017). (Year: 2017). [cited by examiner]
Rodosek, Gabi Dreo, and Lundy Lewis. “Dynamic service provisioning: A user-centric approach.” (2001). (Year: 2001). [cited by examiner]
Suraci, Vincenzo, and Massimiliano Taglieri. “Design of Service Discovery & Provisioning Architecture based on the Open Services Gateway Initiative.” Proceedings of 14th IST Mobile and Wireless Communications Summit. II… [cited by examiner]