IP Library Granted Patent US 8,949,172
Granted Patent B2
US 8,949,172 · App. 13/491,226 · Granted Feb 3, 2015

System and method for efficient allocation of resources in virtualized desktop environments

Inventors: Kirk A. Beaty (Hawthorne, NY); Rajdeep Bhowmik (Johnson City, NY); Andrzej Kochut (Hawthorne, NY)
Assignee: International Business Machines Corporation
G06F11/3452G06N5/00H02J3/14G06F9/5077G06F9/5088G06F11/301G06F11/3093G06F11/3414G06F11/3423G06F2201/81G06F2201/86
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 8,949,172
App. No.
13/491,226
Granted
Feb 3, 2015
Kind
B2
Abstract

A system and method for managing responsiveness of virtual desktops using passive monitoring includes measuring a time between an interactive desktop event and a result of the interactive desktop event. Based on the time, system resources are reallocated to improve the responsiveness.

Claims (107)

1. A method for managing responsiveness of virtual desktops using passive monitoring, comprising:

measuring a time between an interactive desktop event and a result of the interactive desktop event, wherein measuring includes comparing a screen state or event with a library of events stored in memory and employing the screen state or event to determine a start time and an end time for the interactive desktop event; and

reallocating system resources to improve responsiveness time.

2. The method as recited in claim 1 , wherein the interactive desktop event includes at least one of mouse events, keyboard events and pixel images on a display.

3. The method as recited in claim 1 , wherein the result of the interactive desktop event includes a response to the interactive desktop event including at least a change in appearance of a screen icon.

4. The method as recited in claim 1 , wherein measuring includes determining a probability that a virtual component will remain active or idle and migrating workload in accordance with the probability.

5. The method as recited in claim 4 , wherein determining a probability includes detecting idleness and active periods by setting a threshold for computer device usage and marking all periods below this threshold as idle and above the threshold as active.

6. The method as recited in claim 4 , wherein measuring includes monitoring keyboard events, mouse events and screen buffer update activities on a user device to determine active and idle periods.

7. The method as recited in claim 4 , wherein determining a probability includes computing the probability by F(x)=1−a*x −b (1) where b is a parameter depending on a workstation and a is a normalizing factor which enforces that F(x) is a probability distribution.

8. The method as recited in claim 7 , wherein reallocating system resources to improve responsiveness time includes determining a probability that a given workstation is likely to remain idle or active knowing that it has been idle or active for time y (P(Residual lifetime>x|Age=y)) such that a distribution is matched by the Equation 1, and the probability can be evaluated as:

P

(

Residual

lifetime

>

x

Age

=

y

)

=

[

y

x

+

y

]

b

(

2

)

where b is a parameter depending on a workstation.

9. A computer readable storage medium comprising a computer readable program for managing responsiveness of virtual desktops using passive monitoring, wherein the computer readable program when executed on a computer causes the computer to:

measure a time between an interactive desktop event and a result of the interactive desktop event, wherein the measuring a time includes comparing a screen state or event with a library of events stored in memory and employing the screen state or event to determine a start time and an end time for the interactive desktop event; and

reallocate system resources to improve responsiveness time.

10. A method for managing responsiveness of virtual desktops using passive monitoring, comprising:

measuring a time between an interactive desktop event and a result of the interactive desktop event and employing the time to determine a probability that a virtual component will remain active or idle, wherein the measuring a time includes comparing a screen state or event with a library of events stored in memory and employing the screen state or event to determine a start time and an end time for the interactive desktop event; and

based on the probability, migrating workload in accordance with the probability that resources will remain active or idle to improve responsiveness.

11. The method as recited in claim 10 , wherein the probability is determined by detecting idleness and active periods by setting a threshold for computer device usage and marking all periods below this threshold as idle and above the threshold as active.

12. The method as recited in claim 11 , wherein the probability is determined by computing F(x)=1−a*x −b (1) where b is a parameter depending on a workstation and a is a normalizing factor which enforces that F(x) is a probability distribution.

13. The method as recited in claim 12 , wherein migrating workload to improve responsiveness includes determining a probability that a given workstation is likely to remain idle or active knowing that it has been idle or active for time y (P(Residual lifetime>x|Age=y)) such that a distribution is matched by the Equation 1, and the probability can be evaluated as:

P

(

Residual

lifetime

>

x

Age

=

y

)

=

[

y

x

+

y

]

b

(

2

)

where b is a parameter depending on a workstation.

14. A computer readable storage medium comprising a computer readable program, wherein the computer readable program when executed on a computer causes the computer to perform the steps as recited in claim 10 .

15. A system for managing responsiveness of virtual desktops, comprising:

a control system configured to receive responsiveness feedback and to reallocate system resources in accordance with the feedback, the control system being implemented in a computer device with memory storage, and comprising:

an allocation controller configured to receive responsiveness measurements based upon information about interactive desktop events and to receive resource utilization measurements to determine how to allocate resources to improve responsiveness, and

a library of events stored in memory wherein a display screen is monitored to determine and compare displayed information with the library to determine a start time and an end time for an interactive desktop event.

16. The system as recited in claim 15 , wherein the allocation controller determines a probability that a virtual component will remain active or idle to determine an expected workload.

17. The system as recited in claim 16 , wherein the probability includes detecting idleness and active periods by setting a threshold for computer device usage and marking all periods below this threshold as idle and above the threshold as active.

18. The system as recited in claim 16 , wherein the probability is based upon timing of at least one of keyboard events, mouse events and screen buffer update activities on a user device to determine active and idle periods.

19. The system as recited in claim 16 , wherein the probability includes F(x)=1−a*x −b (1) where b is a parameter depending on a workstation and a is a normalizing factor which enforces that F(x) is a probability distribution.

20. The system as recited in claim 15 , wherein the control system reallocates resources to improve the responsiveness by determining that a given workstation is likely to remain idle or active knowing that it has been idle or active for time y (P(Residual lifetime>x|Age=y)) such that a distribution is matched by the Equation 1, and the probability is evaluated as:

P

(

Residual

lifetime

>

x

Age

=

y

)

=

[

y

x

+

y

]

b

(

2

)

where b is a parameter depending on a workstation.

Continuity (3)
Continuation 12547726 · Aug 26, 2009
Provisional Application 61182919 · Jun 1, 2009
Related Publication 20120246107A1 · Sep 27, 2012