IP Library Granted Patent US 10,051,037
Granted Patent B2
US 10,051,037 · App. 13/944,530 · Granted Aug 14, 2018

Methods and systems for dynamically provisioning resources for on-demand courses

Inventors: Enis Konuk (Carlisle, MA); Nidhi Aggarwal (Brookline, MA); Kenneth Sauter (Sudbury, MA); Jitesh Shetty (Brookline, MA); David Tzu-Wei Chen (Wrentham, MA)
Assignee: Google LLC
H04L67/10H04L47/70H04L67/1012H04L67/1036H04L67/42H04L47/826H04L67/22H04L67/2842
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,051,037
App. No.
13/944,530
Filed
Jul 17, 2013
Granted
Aug 14, 2018
Kind
B2
Art Unit
2445
USPC
709/201
Abstract

A method for providing access to dynamically provisioned resources and on-demand courses includes receiving, by an instantiation engine executing on a first computing device, from a second computing device associated with a user, an indication that the user has purchased access to the course at a scheduled time. A type of computing resource is identified for use during the course at the scheduled time. A service provider computing device is selected from a plurality of service provider computing devices, based upon an ability to provide access to the identified type of computing resource at the scheduled time. Before the scheduled time, the instantiation engine instructs the selected service provider computing device to provision a computing resource of the identified type. The method includes transmitting, to the second computing device, an instruction to establish a connection to the provisioned computing resource at the scheduled time.

Claims (27)

1. A method for creating and providing access to a dynamically provisioned course, the method comprising:

receiving, by a creation engine executing on a first computing device, from a second computing device associated with a user, a request to create a course;

receiving, by the creation engine, from the second computing device, an identification of a type of computing resource for use during the course;

selecting, by the creation engine, a service provider computing device from a plurality of service provider computing devices based upon an ability of the selected service provider computing device to provide, to the second computing device, access to the identified type of computing resource;

instructing, by the creation engine, the service provider computing device to provision a computing resource of the identified type;

directing, by the creation engine, the second computing device to connect to the provisioned computing resource;

receiving, by the creation engine, from the second computing device, an indication that the user configured the provisioned computing resource for use during the course;

directing, by the creation engine, a state management engine to save a state of the provisioned computing resource and metadata associated with the course, responsive to the received indication; and

providing access to the saved state of the provisioned computing resource and the metadata associated with the course.

2. The method of claim 1 , wherein providing access further comprises providing a subscription for accessing the saved state and the metadata.

3. The method of claim 1 , wherein providing access further comprises offering for sale a copy of the saved state and the metadata.

4. A method for dynamically provisioning resources for an on-demand course to multiple users, the method comprising:

receiving, by an instantiation engine executing on a first computing device, from a second computing device associated with a user, a request to access a course;

identifying, by the instantiation engine, a type of computing resource used during the course;

selecting, by the instantiation engine, a service provider computing device from a plurality of service provider computing devices, based upon an ability of the selected service provider computing device to provide, to the second computing device, access to the identified type of computing resource;

instructing, by the instantiation engine, the selected service provider computing device to provision a computing resource of the identified type;

transmitting, by the instantiation engine, to the second computing device, an instruction to establish a connection to the provisioned computing resource;

receiving, by the instantiation engine, from a third computing device associated with a second user, a second request to access the course;

selecting, by the instantiation engine, a second service provider computing device from the plurality of service provider computing devices, based upon an ability of the second service provider computing device to provide, to the third computing device, access to the identified type of computing resource used during the course;

instructing, by the instantiation engine, the second service provider computing device to provision a second computing resource of the identified type; and

transmitting, by the instantiation engine, to the third computing device, an instruction to establish a connection to the provisioned second computing resource.

5. A method for dynamically provisioning resources for an on-demand course at a scheduled time, the method comprising:

receiving, by an instantiation engine executing on a first computing device, from a second computing device associated with a user, an indication that the user has purchased access to the course at a scheduled time;

identifying, by the instantiation engine, a type of computing resource for use during the course at the scheduled time;

selecting, by the instantiation engine, a service provider computing device from a plurality of service provider computing devices, based upon an ability of the selected service provider computing device to provide, to the second computing device, access to the identified type of computing resource at the scheduled time;

before the scheduled time, instructing, by the instantiation engine, the selected service provider computing device to provision a computing resource of the identified type; and

transmitting, by the instantiation engine, to the second computing device, an instruction to establish a connection to the provisioned computing resource at the scheduled time.

Assignments (4)
CHANGE OF NAME Recorded Oct 5, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044129/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 13, 2017
From: QWIKLABS INC.
To: GOOGLE INC.
Reel/Frame 040965/0057 →
CHANGE OF NAME Recorded Jan 12, 2017
From: CLOUD VLAB INC.
To: QWIKLABS INC.
Reel/Frame 041353/0639 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 22, 2013
From: KONUK, ENIS; AGGARWAL, NIDHI; SAUTER, KENNETH; SHETTY, JITESH; CHEN, DAVID TZU-WEI
To: CLOUD VLAB, INC.
Reel/Frame 030847/0972 →
Continuity (2)
Provisional Application 61672811 · Jul 18, 2012
Related Publication 20140025721A1 · Jan 23, 2014