IP Library Granted Patent US 12,149,455
Granted Patent B2
US 12,149,455 · App. 18/144,809 · Granted Nov 19, 2024

Virtual computing services deployment network

Inventors: Eric Y. Pulier (Los Angeles, CA); Clinton B. Battersby (Norwood, MA); Paul J. Gaffney (Southborough, MA)
Assignee: Omnissa, LLC
H04L47/822G06Q10/06G06Q10/0631
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,149,455
App. No.
18/144,809
Granted
Nov 19, 2024
Kind
B2
Abstract

A business method associates provisioning costs with a usage history indicative of user computing demand, and coalesces the cost data to identify an appropriate provisioning level balancing the provisioning cost and the usage demand cost. Conventional computing environments suffer from the shortcoming of being prone to overprovisioning or underprovisioning a user. Such misprovisioning is inefficient because it denotes underutilized computing resources or ineffective and/or disgruntled users. Costs increase either due to the excessive hardware bestowed on the overprovisioned user, or in support costs addressing the underprovisioned user. Configurations herein substantially overcome such shortcomings by defining a policy indicative of overprovisioning and underprovisioning indicators (misprovisioning flags), and defining rules to specify a triggering event indicating the need to reassess the provisioning of a user.

Claims (46)

1. A method comprising:

selecting a first computing class of a plurality of computing classes for a first user, wherein each computing class of the plurality of computing classes is associated with a respective level of computing resources;

instantiating a first virtual computing environment for the first user using a first portion of available computing resources of at least one computer, the first portion being based on the first computing class selected for the first user, the first portion including memory and processor resources of the at least one computer;

after instantiating the first virtual computing environment, selecting a second computing class of the plurality of computing classes for the first user; and

in response to selecting the second computing class for the first user, instantiating a second virtual computing environment for the first user using a second portion of available computing resources of the at least one computer, the second portion being based on the second computing class selected for the first user, the second portion being different than the first portion, wherein

selecting the second computing class for the first user is in response to occurrence of a triggering event, and

the triggering event comprises one or more of a threshold number of page faults, a threshold response time, or a threshold processor utilization.

2. The method of claim 1 , further comprising:

selecting the first computing class of the plurality of computing classes for a second user; and

instantiating a third virtual computing environment for the second user using a third portion of available computing resources of the at least one computer, the third portion being based on the first computing class selected for the second user, the third portion including memory and processor resources of the at least one computer.

3. The method of claim 1 , wherein selecting the first computing class of the plurality of computing classes for the first user comprises:

analyzing a usage history for the first user, the usage history indicative of computing demands for the first user; and

selecting the first computing class based on the usage history.

4. The method of claim 1 , wherein the second portion includes less computing resources than the first portion.

5. The method of claim 1 , wherein the second portion includes more computing resources than the first portion.

6. The method of claim 1 , wherein the first portion of available computing resources comprises resources of a first computer, and the second portion of available computing resources comprises resources of a second computer.

7. The method of claim 1 , wherein the first portion of available computing resources comprises resources of a first computer, and the second portion of available computing resources comprises resources of the first computer.

8. One or more non-transitory computer-readable media comprising instructions, which when executed by a computing system, cause the computing system to perform operations comprising:

selecting a first computing class of a plurality of computing classes for a first user, wherein each computing class of the plurality of computing classes is associated with a respective level of computing resources;

instantiating a first virtual computing environment for the first user using a first portion of available computing resources of at least one computer, the first portion being based on the first computing class selected for the first user, the first portion including memory and processor resources of the at least one computer;

after instantiating the first virtual computing environment, selecting a second computing class of the plurality of computing classes for the first user; and

in response to selecting the second computing class for the first user, instantiating a second virtual computing environment for the first user using a second portion of available computing resources of the at least one computer, the second portion being based on the second computing class selected for the first user, the second portion being different than the first portion, wherein

selecting the second computing class for the first user is in response to occurrence of a triggering event, and

the triggering event comprises one or more of a threshold number of page faults, a threshold response time, or a threshold processor utilization.

9. The one or more non-transitory computer-readable media of claim 8 , the operations further comprising:

selecting the first computing class of the plurality of computing classes for a second user; and

instantiating a third virtual computing environment for the second user using a third portion of available computing resources of the at least one computer, the third portion being based on the first computing class selected for the second user, the third portion including memory and processor resources of the at least one computer.

10. The one or more non-transitory computer-readable media of claim 8 , wherein selecting the first computing class of the plurality of computing classes for the first user comprises:

analyzing a usage history for the first user, the usage history indicative of computing demands for the first user; and

selecting the first computing class based on the usage history.

11. The one or more non-transitory computer-readable media of claim 8 , wherein the second portion includes less computing resources than the first portion.

12. The computer system of claim 11 , wherein selecting the second computing class for the first user is in response to occurrence of a triggering event.

13. The computer system of claim 12 , wherein the triggering event comprises one or more of a threshold number of page faults, a threshold response time, or a threshold processor utilization.

14. The computer system of claim 11 , the operations further comprising:

selecting the first computing class of the plurality of computing classes for a second user; and

instantiating a third virtual computing environment for the second user using a third portion of available computing resources of the at least one computer, the third portion being based on the first computing class selected for the second user, the third portion including memory and processor resources of the at least one computer.

15. A computer system comprising:

memory storing instructions; and

one or more processors configured to execute the instructions to perform operations comprising:

selecting a first computing class of a plurality of computing classes for a first user, wherein each computing class of the plurality of computing classes is associated with a respective level of computing resources;

instantiating a first virtual computing environment for the first user using a first portion of available computing resources of at least one computer, the first portion being based on the first computing class selected for the first user, the first portion including memory and processor resources of the at least one computer;

after instantiating the first virtual computing environment, selecting a second computing class of the plurality of computing classes for the first user; and

in response to selecting the second computing class for the first user, instantiating a second virtual computing environment for the first user using a second portion of available computing resources of the at least one computer, the second portion being based on the second computing class selected for the first user, the second portion being different than the first portion,

wherein selecting the first computing class of the plurality of computing classes for the first user comprises:

analyzing a usage history for the first user, the usage history indicative of computing demands for the first user; and

selecting the first computing class based on the usage history.

Assignments (5)
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 May 8, 2023
From: PULIER, ERIC; BATTERSBY, CLINTON B.; GAFFNEY, PAUL J.
To: DESKTONE, INC.
Reel/Frame 063571/0298 →
MERGER AND CHANGE OF NAME Recorded May 8, 2023
From: DESKTONE, INC.; VMWARE, INC.
To: VMWARE, INC.
Reel/Frame 063571/0327 →
Continuity (6)
Continuation 17148380 · Jan 13, 2021
Continuation 16167475 · Oct 22, 2018
Continuation 13716289 · Dec 17, 2012
Continuation 11875375 · Oct 19, 2007
Provisional Application 60853052 · Oct 20, 2006
Related Publication 20230275851A1 · Aug 31, 2023