IP Library › Granted Patent US 10,459,758
Granted Patent B2
US 10,459,758 · App. 15/654,968 · Granted Oct 29, 2019

Method to set up and tear down cloud environments based on a schedule obtained from one or more hosted calendars

Inventor: Thomas J. Hammond (Coconut Creek, FL)
Assignee: CITRIX SYSTEMS, INC.
G06F9/4843G06F8/60G06F8/62G06Q10/00G06Q10/06G06Q10/06312G06F8/61G06F21/31
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 10,459,758
App. No.
15/654,968
Granted
Oct 29, 2019
Kind
B2
Abstract

Described embodiments automatically and dynamically deploy and undeploy virtual computing environments by using a schedule obtained from a user's personal, work, or shared team calendars. By using data such as out-of-office or auto-reply statuses, calendar items marked as “Out of Office”, and calendar items with specific keywords, the system may dynamically determine when a user is likely to be “present” (or capable of accessing or likely to access a virtual computing environment) or “absent” (or incapable of accessing or unlikely to access the virtual computing environment). The virtual computing environment may be dynamically deployed or undeployed responsive to and/or in anticipation of a user's presence or absence, providing cost savings and reduced bandwidth, power, and processor consumption, without increasing user frustration or requiring extra tasks.

Claims (36)

1. A method for calendar-based cloud deployment, comprising:

receiving, by a deployment scheduler operated by a device, authentication information for a user of a calendar service;

retrieving, by the deployment scheduler from the calendar service, calendar information for the user, using the received authentication information;

identifying, by the deployment scheduler in the retrieved calendar information, a first calendar event indicating a period in which a deployable resource is to be accessible to the user via a computing device;

determining, by the deployment scheduler, that the first calendar event corresponds with a present time or location of the user;

responsive to the determination that the first calendar event corresponds with the present time or location of the user, transmitting a request to a deployment engine to take a deployment action for the deployable resource, the resource deployed responsive to receipt of the request to take the deployment action;

identifying, by the deployment scheduler, a second calendar event indicating a period in which the deployed resource is to be inaccessible to the user;

determining, by the deployment scheduler, that the second calendar event corresponds with a second present time or location of the user; and

responsive to the determination that the second calendar event corresponds with the second present time or location of the user, transmitting a request to the deployment engine to take an undeployment action for the deployed resource.

2. The method of claim 1 , wherein identifying the first calendar event indicating the period in which the deployable resource is to be accessible to the user further comprises extracting, from the retrieved calendar data, an end time of an out-of-office period.

3. The method of claim 1 , wherein identifying the first calendar event indicating the period in which the deployable resource is to be accessible to the user further comprises extracting, from the retrieved calendar data, metadata of the first calendar event comprising a first predetermined string.

4. The method of claim 1 , wherein identifying the second calendar event indicating the period in which the deployed resource is to be inaccessible to the user further comprises extracting, from the retrieved calendar data, a start time of an out-of-office period.

5. The method of claim 1 , wherein identifying the second calendar event indicating the period in which the deployed resource is to be inaccessible to the user further comprises extracting, from the retrieved calendar data, metadata of the second calendar event comprising a second predetermined string.

6. The method of claim 1 , further comprising receiving, by the deployment scheduler, configuration information of a virtual processing environment.

7. The method of claim 6 , wherein transmitting the request to the deployment engine to take the deployment action further comprises transmitting the configuration information to the deployment engine.

8. The method of claim 6 , wherein transmitting the request to the deployment engine to take the deployment action further comprises selecting a first processing service provider from a plurality of processing service providers, according to an identification of the first processing service provider in the configuration information.

9. The method of claim 1 , wherein retrieving calendar information for the user is repeated periodically.

10. A system for calendar-based cloud deployment, comprising:

a deployment scheduler executable by a processor of a device, in communication with a second device providing a calendar service and a deployment engine;

wherein the deployment scheduler is configured to:

receive authentication information for a user of the calendar service,

retrieve, from the calendar service, calendar information for the user, using the received authentication information,

identify, in the retrieved calendar information, a first calendar event indicating a period in which a deployable resource is to be accessible to the user,

determine that the first calendar event corresponds with a present time or location of the user,

responsive to the determination that the first calendar event corresponds with the present time or location of the user, transmit a request to a deployment engine to take a deployment action for the deployable resource, the resource deployed responsive to receipt of the request to take the deployment action,

identify a second calendar event indicating a period in which the deployed resource is to be inaccessible to the user;

determine that the second calendar event corresponds with a second present time or location of the user; and

responsive to the determination that the second calendar event corresponds with the second present time or location of the user, transmit a request to the deployment engine to take an undeployment action for the deployed resource.

11. The system of claim 10 , wherein the deployment scheduler is further configured to extract, from the retrieved calendar data, an end time of an out-of-office period.

12. The system of claim 10 , wherein the deployment scheduler is further configured to extract, from the retrieved calendar data, metadata of the first calendar event comprising a first predetermined string.

13. The system of claim 10 , wherein the deployment scheduler is further configured to extract, from the retrieved calendar data, a start time of an out-of-office period.

14. The system of claim 10 , wherein the deployment scheduler is further configured to extract, from the retrieved calendar data, metadata of the second calendar event comprising a second predetermined string.

15. The system of claim 10 , wherein the deployment scheduler is further configured to receive configuration information of a virtual processing environment.

16. The system of claim 15 , wherein the deployment scheduler is further configured to transmit the configuration information to the deployment engine.

17. The system of claim 15 , wherein the deployment scheduler is further configured to select a first processing service provider from a plurality of processing service providers, according to an identification of the first processing service provider in the configuration information.

18. The system of claim 10 , wherein the deployment scheduler is further configured to periodically retrieve the calendar information.

Assignments (7)
PATENT SECURITY AGREEMENT Recorded Apr 14, 2023
From: CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.); CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 063340/0164 →
RELEASE AND REASSIGNMENT OF SECURITY INTEREST IN PATENT (REEL/FRAME 062113/0001) Recorded Apr 14, 2023
From: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
To: CITRIX SYSTEMS, INC.; CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.)
Reel/Frame 063339/0525 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 062113/0001 →
PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 062112/0262 →
PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 062113/0470 →
SECURITY INTEREST Recorded Sep 30, 2022
From: CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION
Reel/Frame 062079/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 20, 2017
From: HAMMOND, THOMAS J.
To: CITRIX SYSTEMS, INC.
Reel/Frame 043058/0131 →
Continuity (1)
Related Publication 20190026148A1 · Jan 24, 2019