IP Library Granted Patent US 12,542,781
Granted Patent B2
US 12,542,781 · App. 18/120,923 · Granted Feb 3, 2026

Unified workspace for thin, remote, and SAAS applications

Inventors: William Pugh (Seattle, WA); Michael Eakes (San Francisco, CA); Ojvind Bernander (Palo Alto, CA); Pradyumna Gundavaram (Sunnyvale, CA)
Assignee: Omnissa, LLC
H04L63/10G06F21/105G06F21/41H04L63/0815H04L63/083H04L67/02H04L67/10
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,542,781
App. No.
18/120,923
Granted
Feb 3, 2026
Kind
B2
Abstract

Application-manager software authenticates a user of a client device over a channel. The authentication operation is performed using a directory service. The application-manager software presents a plurality of applications in a GUI displayed by the client device. The plurality of applications depends on the authentication, the client device, and the channel. And the plurality of applications includes a thin application and a software-as-a-service (SaaS) application. The application-manager software receives a selection as to an application from the user. If the selection is for the SaaS application, the application-manager software provisions the SaaS application. The provision includes automatically logging the user onto an account with a provider of the SaaS application using a single sign-on and connecting the user to the account so that the user can interact with the SaaS application. If the selection is for the thin application, the application manager software launches the thin application.

Claims (47)

1 . A method comprising:

authenticating a user of a client device using a directory service;

retrieving one or more entitlements based on authenticating the user, wherein the one or more entitlements are used to generate a graphical user interface (GUI) on the client device and present a plurality of applications in the GUI;

determining that the one or more entitlements for the user have been modified to entitle the user to access, through the GUI of the client device, an application that is a software-as-a-service (SaaS) application;

generating a random password configured for single sign-on for the user;

providing a request to the application to create an account for the user based on account information including a username and the random password, and without providing the random password to the user; and

updating a single sign-on service with the account information, wherein the single sign-on service provides the user with access to the plurality of applications and the application through the GUI of the client device.

2 . The method of claim 1 , further comprising, in response to a user request to access the application:

providing access to the application using the account information, and without providing the random password to the user.

3 . The method of claim 1 , further comprising encrypting the random password prior to storing the random password.

4 . The method of claim 1 , further comprising, in response to a user request to access the application:

determining that a valid session exists;

determining whether the session is alive or not; and

in response to determining that the session is alive, creating a token for the application based on the existing session and redirecting to the application, wherein the token provides access to the random password.

5 . The method of claim 1 , wherein the account information further includes a name of the application.

6 . A computer system comprising:

memory; and

one or more processors coupled to the memory, the one or more processors configured to:

authenticate a user of a client device using a directory service;

retrieve one or more entitlements based on authenticating the user, wherein the one or more entitlements are used to generate a graphical user interface (GUI) on the client device and present a plurality of applications in the GUI;

determine that the one or more entitlements for the user have been modified to entitle the user to access, through the GUI of the client device, an application that is a software-as-a-service (SaaS) application;

generate a random password configured for single sign-on for the user;

provide a request to the application to create an account for the user based on account information including a username and the random password, and without providing the random password to the user; and

update a single sign-on service with the account information, wherein the single sign-on service provides the user with access to the plurality of applications and the application through the GUI of the client device.

7 . The computer system of claim 6 , wherein the one or more processors are further configured to, in response to a user request to access the application:

provide access to the application using the account information, and without providing the random password to the user.

8 . The computer system of claim 6 , wherein the one or more processors are further configured to encrypt the random password prior to storing the random password.

9 . The computer system of claim 6 , wherein the one or more processors are further configured to, in response to a user request to access the application:

determine that a valid session exists;

determine whether the session is alive or not; and

in response to determining that the session is alive, create a token for the application based on the existing session and redirect to the application, wherein the token provides access to the random password.

10 . The computer system of claim 6 , wherein the account information further includes a name of the application.

11 . A non-transitory computer readable medium comprising instructions, which when executed by one or more processors, cause the one or more processors to perform operations comprising:

authenticating a user of a client device using a directory service;

retrieving one or more entitlements based on authenticating the user, wherein the one or more entitlements are used to generate a graphical user interface (GUI) on the client device and present a plurality of applications in the GUI;

determining that the one or more entitlements for the user have been modified to entitle the user to access, through the GUI of the client device, an application that is a software-as-a-service (SaaS) application;

generating a random password configured for single sign-on for the user;

providing a request to the application to create an account for the user based on account information including a username and the random password, and without providing the random password to the user; and

updating a single sign-on service with the account information, wherein the single sign-on service provides the user with access to the plurality of applications and the application through the GUI of the client device.

12 . The non-transitory computer readable medium of claim 11 , wherein the operations further comprise, in response to a user request to access the application:

providing access to the application using the account information, and without providing the random password to the user.

13 . The non-transitory computer readable medium of claim 11 , wherein the operations further comprise encrypting the random password prior to storing the random password.

14 . The non-transitory computer readable medium of claim 11 , wherein the operations further comprise receiving a user request for the application, wherein the generating the random password is in response to receiving the user request.

15 . The non-transitory computer readable medium of claim 11 , wherein the operations further comprise, in response to a user request to access the application:

determining that a valid session exists;

determining whether the session is alive or not; and

in response to determining that the session is alive, creating a token for the application based on the existing session and redirecting to the application, wherein the token provides access to the random password.

Assignments (4)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 13, 2023
From: PUGH, WILLIAM; EAKES, MICHAEL; BERNANDER, OJVIND; GUNDAVARAM, PRADYUMNA
To: VMWARE, INC.
Reel/Frame 062966/0749 →
Continuity (7)
Continuation 17731197 · Apr 27, 2022
Continuation 16994111 · Aug 14, 2020
Continuation 16113975 · Aug 27, 2018
Continuation 14666051 · Mar 23, 2015
Continuation 13218631 · Aug 26, 2011
Provisional Application 61378294 · Aug 30, 2010
Related Publication 20230216854A1 · Jul 6, 2023
References Cited (42)
US 6115040A · Bladow · 2000 [cited by examiner]
US 7356694B2 · Mayo · 2008 [cited by examiner]
US 7665127B1 · Rao et al. · 2010 [cited by applicant]
US 7779091B2 · Wilkinson et al. · 2010 [cited by applicant]
US 8104076B1 · Lam · 2012 [cited by applicant]
US 8544072B1 · Masone · 2013 [cited by examiner]
US 8689110B2 · Verma et al. · 2014 [cited by applicant]
US 8898476B1 · Lindteigen · 2014 [cited by examiner]
US 8990699B2 · Pugh et al. · 2015 [cited by applicant]
US 8990911B2 · Olden et al. · 2015 [cited by applicant]
US 9356930B2 · Nahari · 2016 [cited by examiner]
US 10063552B2 · Pugh et al. · 2018 [cited by applicant]
US 10338969B2 · Wilkinson · 2019 [cited by examiner]
US 10771465B2 · Pugh et al. · 2020 [cited by applicant]
US 11343250B2 · Pugh et al. · 2022 [cited by applicant]
US 12192360B2 · Kline · 2025 [cited by examiner]
US 20020138577A1 · Teng et al. · 2002 [cited by applicant]
US 20040205176A1 · Ting · 2004 [cited by examiner]
US 20050216768A1 · Eppert · 2005 [cited by examiner]
US 20070239859A1 · Wilkinson et al. · 2007 [cited by applicant]
US 20080034412A1 · Wahl · 2008 [cited by applicant]
US 20080059804A1 · Shah et al. · 2008 [cited by applicant]
US 20080147745A1 · Wilkinson et al. · 2008 [cited by applicant]
US 20080168539A1 · Stein · 2008 [cited by applicant]
US 20080288631A1 · Faisal et al. · 2008 [cited by applicant]
US 20090089625A1 · Kannappan et al. · 2009 [cited by applicant]
US 20090249440A1 · Platt et al. · 2009 [cited by applicant]
US 20090328186A1 · Pollutro et al. · 2009 [cited by applicant]
US 20100010894A1 · Boyer · 2010 [cited by applicant]
US 20100198730A1 · Ahmed et al. · 2010 [cited by applicant]
US 20110099618A1 · Mutt · 2011 [cited by applicant]
US 20110252334A1 · Verma et al. · 2011 [cited by applicant]
US 20110277027A1 · Hayton · 2011 [cited by examiner]
US 20110313950A1 · Nuggehalli et al. · 2011 [cited by applicant]
US 20120011518A1 · Duan et al. · 2012 [cited by applicant]
US 20130067225A1 · Shochet et al. · 2013 [cited by applicant]
US 20130103640A1 · Rehman · 2013 [cited by examiner]
WO 2005002131A1 · 2005 [cited by applicant]
“Software as a Service”, retrieved from URL <http://en.wikipedia.org/index.php?title=Software as_ a_ service&oldid=281046898>, retrieved on Nov. 2, 2011, Aug. 26, 2010, 9 pages. [cited by applicant]
International Search Report and Written Opinion in International Appln. No. PCT /US2011/049174 dated Nov. 21, 2011, 4 pages. [cited by applicant]
Madden, “VMware Project “Origami:” unifying the server, desktop, and Saas app models?”, retrieved from URL<http://www.brianmadden.com/blogs/briamnadden/archive/2010/0 8/25/vmware-project-quotorigami-quot-unifying-the-se… [cited by applicant]
Wikipedia.com “Application streaming”, retrieved from the URL <http://en.wikipedia.org/w/index/php?title=Application_ streaming&oldid=373707909>, retrieved on Nov. 3, 2011, Jul. 15, 2010. [cited by applicant]