IP Library Granted Patent US 7,698,360
Granted Patent B2
US 7,698,360 · App. 10/082,248 · Granted Apr 13, 2010

System and method for distance learning

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 7,698,360
App. No.
10/082,248
Granted
Apr 13, 2010
Kind
B2
Abstract

A system and method for distance learning that can be used to teach a typical IT training course. In one aspect, a student that desires to perform remotely an exercise from an IT training course uses his/her Java-capable browser to connect to a distance learning web server. The web server downloads to the browser a list of exercises that the student can choose from. After the student selects an exercise, the web server launches the virtual machines that are needed for the student to perform the selected exercise. The virtual machines are launched on a computer system that is remote from the student, but the computer system includes a remote display server. After the virtual machines are launched on the remote system, a remote display viewer is loaded in the student's browser and the remote display viewer connects to the remote display server. After the viewer connects to the remote display server, the viewer displays one or more of the virtual machines in a window on the student's computer. Thus, after the viewer connects to the remote display server, the student can remotely interact with the virtual machines that are required for the student to perform the exercise.

Claims (83)

1. A computer implemented method for enabling a plurality of users at a plurality of respective client systems to remotely perform one or more respective exercises using the plurality of respective client systems, the method comprising:

storing in a course database course information including a list of exercises, and for a given exercise one or more virtual machines associated with the exercise;

receiving a request to connect to a remote system from at least one user;

accessing, by the remote system, the course database to determine one or more courses associated with the user;

transmitting, by the remote system, a list of the courses associated with the user to the respective client system associated with the user;

receiving, by the remote system, a selection of at least one of the courses in the course list from the user;

accessing, by the remote system, the course database to determine one or more exercises associated with the selected course;

transmitting, by the remote system, a list of the exercises associated with the selected course to the respective client system associated with the user;

receiving, by the remote system, a selection of at least one of the exercises in the transmitted exercise list from the user;

accessing, by the remote system, the course database to determine at least one virtual machine associated with the selected exercise;

launching, by the remote system, the virtual machine associated with the selected exercise, wherein the launched virtual machine generates a user interface for performing the selected exercise; and

transmitting, by the remote system, a view of the user interface to the respective client system associated with the user, wherein the user performs the selected exercise by remotely interacting with the virtual machine via the view of the user interface.

2. The method of claim 1 , wherein the client system comprises a web browser and a viewer application for displaying the view of the user interface.

3. The method of claim 1 , further comprising:

transmitting, by the remote system, a page to the client system, the page including at least one selectable user interface element associated with the launched virtual machine; and

receiving a selection of the at least one user interface element from the user.

4. The method of claim 3 , further comprising generating the view of the user interface in response to receiving the selection of the user interface element.

5. The method of claim 1 , further comprising launching a remote display server to handle a session with a viewer application at the client system, the viewer application displaying the view of the user interface to the user, the remote display server refreshing the view in response to the user interacting with the view of the user interface during the session.

6. A computer implemented method for enabling a plurality of students at a plurality of respective client systems to remotely perform one or more respective exercises using the plurality of respective client systems, the method comprising:

storing in a course database associated with a remote system course information including a list of exercises, and for a given exercise one or more virtual machines associated with the exercise;

accessing, by the remote system, the course database to determine one or more courses associated with at least one student;

displaying for the student, at the respective client system associated with the student, a list of the courses associated with the student;

upon receiving a selection of at least one of the displayed courses from the student, displaying for the student, at the respective client system associated with the student, a list of exercises associated with the selected course; and

upon receiving a selection of at least one of the displayed exercises from the student,

launching, by the remote system, at least one virtual machine associated with the selected exercise, wherein the launched virtual machine generates a user interface for performing the selected exercise; and

displaying for the student, at the respective client system associated with the student, a view of the user interface, wherein the student performs the selected exercise by remotely interacting with the virtual machine via the view of the user interface.

7. The method of claim 6 , further comprising displaying for the student a page including one or more selectable user interface elements associated with the launched virtual machine.

8. The method of claim 7 , further comprising upon receiving a selection of at least one of the displayed user interface elements from the student, generating the view of the user interface.

9. The method of claim 6 , further comprising launching a remote display server to handle a session with a viewer application at the client system, the viewer application displaying for the student the view of the user interface, the remote display server refreshing the view in response to the student interacting with the view of the user interface during the session.

10. A system for enabling a plurality of students at a plurality of respective client systems to remotely perform one or more respective exercises using the plurality of respective client systems, each of the plurality of respective client systems having a respective web browser and a respective viewer application, the system comprising:

a server remote from the plurality of respective client systems;

a plurality of computer systems coupled to the remote server, each computer system associated with at least one course and comprising:

a virtual machine platform for running virtual machines,

a virtual machine launcher for launching the virtual machines on the virtual machine platform, and

a remote display server for handling sessions between the virtual machines and the plurality of respective client systems; and

a course database that stores course information including a list of exercises, and for a given exercise one or more virtual machines associated with the exercise, the course database coupled to the remote server, wherein the system is operable to:

access the course database to determine one or more courses associated with at least one student;

transmit a list of the courses associated with the student to the respective client system associated with the student;

receive a selection of at least one of the courses in the course list from the respective client system associated with the student;

transmit a list of exercises associated with the selected course to the respective client system associated with the student;

receive a selection of at least one of the exercises in the transmitted exercise list from the respective client system associated with the student;

select one of the plurality of computer systems based on the selected course;

invoke the virtual machine launcher at the selected computer system to launch at least one virtual machine associated with the selected exercise, wherein the launched virtual machine runs on the virtual machine platform at the selected computer system and generates a user interface for performing the selected exercise; and

launch the remote display server at the selected computer system to handle a session with the respective client system associated with the student, wherein the remote display server is operable to transmit views of the user interface to the respective viewer application at the respective client system during the session, the respective viewer application displaying the view of the user interface to the student, wherein the student performs the selected exercise by remotely interacting with the virtual machine during the session via the views of the user interface.

11. The system of claim 10 , wherein the virtual machine launcher runs on the selected computer system onto which the selected course is installed.

12. The system of claim 10 , wherein the system is further operable to access the course database to determine the virtual machine associated with the selected exercise.

13. The system of claim 10 , wherein the remote display server at the selected computer system is further operable to transmit a page to the respective client system, the page including at least one selectable user interface element associated with the launched virtual machine.

14. The system of claim 13 , wherein the remote display server at the selected computer system is further operable to:

receive a selection of the at least one user interface element from the student;

generate a view of the user interface in response to receiving the selection of the user interface element; and

refresh the view in response to the student interacting with the view of the user interface during the session.

15. The system of claim 10 , wherein the virtual machine launcher is operable to register configuration information and the course information with the course database, the configuration information including a unique identifier for the virtual machine launcher and a port number for the remote display server to accept session connections, the course information further including a list of courses associated with the virtual machine launcher.

16. A computer readable medium for enabling a plurality of users at a plurality of respective client systems to remotely perform one or more respective exercises using the plurality of respective client systems, the computer readable medium comprising computer-executable instructions for:

storing in a course database course information including a list of exercises, and for a given exercise one or more virtual machines associated with the exercise;

receiving a request to connect to a remote system from at least one user;

accessing, by the remote system, the course database to determine one or more courses associated with the user;

transmitting, by the remote system, a list of the courses associated with the user to the respective client system associated with the user;

receiving, by the remote system, a selection of at least one of the courses in the course list from the user;

accessing, by the remote system, the course database to determine one or more exercises associated with the selected course;

transmitting, by the remote system, a list of the exercises associated with the selected course to the respective client system associated with the user;

receiving, by the remote system, a selection of at least one of the exercises in the transmitted exercise list from the user;

accessing, by the remote system, the course database to determine at least one virtual machine associated with the selected exercise;

launching, by the remote system, the virtual machine associated with the selected exercise, wherein the launched virtual machine generates a user interface for performing the selected exercise; and

transmitting, by the remote system, a view of the user interface to the respective client system associated with the user, wherein the user performs the selected exercise by remotely interacting with the virtual machine via the view of the user interface.

17. The computer readable medium of claim 16 , further comprising computer-executable instructions for:

transmitting, by the remote system, a page to the client system, the page including at least one selectable user interface element associated with the launched virtual machine; and

receiving a selection of the at least one user interface element from the user.

18. The computer readable medium of claim 17 , further comprising computer-executable instructions for generating the view of the user interface in response to receiving the selection of the user interface element.

19. The method of claim 16 , further comprising computer-executable instructions for launching a remote display .server to handle a session with a viewer application at the client system, the viewer application displaying the view of the user interface to the user, the remote display server refreshing the view in response to the user interacting with the view of the user interface during the session.

20. A computer implemented method for enabling a plurality of users at a plurality of respective client systems to remotely perform one or more respective exercises using the plurality of respective client systems, the method comprising:

storing in a course database course information including a list of exercises, and for a given exercise one or more virtual machines associated with the exercise;

receiving a request to connect to a remote system from at least one user;

accessing, by the remote system, the course database to determine one or more courses associated with the user;

transmitting, by the remote system, a list of the courses associated with the user to the respective client system associated with the user;

receiving, by the remote system, a selection of at least one of the courses in the course list from the user;

accessing, by the remote system, the course database to determine one or more exercises associated with the selected course;

transmitting, by the remote system, a list of the exercises associated with the selected course to the respective client system associated with the user;

receiving, by the remote system, a selection of at least one of the exercises in the transmitted exercise list from the user;

selecting, by the remote system, at least one available virtual machine launcher associated with the selected course, wherein the selected virtual machine launcher is running on a computer onto which the selected course is installed, the computer being associated with remote system;

transmitting, by the remote system, a message including at least one identifier that identifies the selected exercise to the selected virtual machine launcher, wherein the selected virtual machine launcher is operable to:

access the course database to determine at least one virtual machine associated with the selected exercise; and

launch the virtual machine associated with the selected exercise, wherein the launched virtual machine generates a user interface for performing the selected exercise; and

transmitting, by the remote system, a view of the user interface to the respective client system associated with the user, wherein the user performs the selected exercise by remotely interacting with the virtual machine via the view of the user interface.

Assignments (16)
RELEASE OF SECURITY INTEREST REEL/FRAME 035656/0251 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: BORLAND SOFTWARE CORPORATION; ATTACHMATE CORPORATION; NETIQ CORPORATION; MICRO FOCUS (US), INC.; MICRO FOCUS SOFTWARE INC. (F/K/A NOVELL, INC.)
Reel/Frame 062623/0009 →
RELEASE OF SECURITY INTEREST REEL/FRAME 044183/0718 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: MICRO FOCUS LLC (F/K/A ENTIT SOFTWARE LLC); BORLAND SOFTWARE CORPORATION; MICRO FOCUS (US), INC.; SERENA SOFTWARE, INC; ATTACHMATE CORPORATION; MICRO FOCUS SOFTWARE INC. (F/K/A NOVELL, INC.); NETIQ CORPORATION
Reel/Frame 062746/0399 →
CORRECTIVE ASSIGNMENT TO CORRECT THE TO CORRECT TYPO IN APPLICATION NUMBER 10708121 WHICH SHOULD BE 10708021 PREVIOUSLY RECORDED ON REEL 042388 FRAME 0386. ASSIGNOR(S) HEREBY CONFIRMS THE NOTICE OF SUCCESSION OF AGENCY. Recorded Jul 26, 2018
From: BANK OF AMERICA, N.A., AS PRIOR AGENT
To: JPMORGAN CHASE BANK, N.A., AS SUCCESSOR AGENT
Reel/Frame 048793/0832 →
SECURITY INTEREST Recorded Oct 11, 2017
From: ATTACHMATE CORPORATION; BORLAND SOFTWARE CORPORATION; NETIQ CORPORATION; MICRO FOCUS (US), INC.; MICRO FOCUS SOFTWARE, INC.; ENTIT SOFTWARE LLC; ARCSIGHT, LLC; SERENA SOFTWARE, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 044183/0718 →
NOTICE OF SUCCESSION OF AGENCY Recorded May 2, 2017
From: BANK OF AMERICA, N.A., AS PRIOR AGENT
To: JPMORGAN CHASE BANK, N.A., AS SUCCESSOR AGENT
Reel/Frame 042388/0386 →
CHANGE OF NAME Recorded Sep 13, 2016
From: NOVELL, INC.
To: MICRO FOCUS SOFTWARE INC.
Reel/Frame 040020/0703 →
SECURITY INTEREST Recorded May 13, 2015
From: MICRO FOCUS (US), INC.; BORLAND SOFTWARE CORPORATION; ATTACHMATE CORPORATION; NETIQ CORPORATION; NOVELL, INC.
To: BANK OF AMERICA, N.A.
Reel/Frame 035656/0251 →
RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME 028252/0316 Recorded Nov 24, 2014
From: CREDIT SUISSE AG
To: NOVELL, INC.
Reel/Frame 034469/0057 →
RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME 028252/0216 Recorded Nov 24, 2014
From: CREDIT SUISSE AG
To: NOVELL, INC.
Reel/Frame 034470/0680 →
GRANT OF PATENT SECURITY INTEREST FIRST LIEN Recorded May 23, 2012
From: NOVELL, INC.
To: CREDIT SUISSE AG, AS COLLATERAL AGENT
Reel/Frame 028252/0216 →
GRANT OF PATENT SECURITY INTEREST SECOND LIEN Recorded May 23, 2012
From: NOVELL, INC.
To: CREDIT SUISSE AG, AS COLLATERAL AGENT
Reel/Frame 028252/0316 →
RELEASE OF SECURITY IN PATENTS SECOND LIEN (RELEASES RF 026275/0018 AND 027290/0983) Recorded May 22, 2012
From: CREDIT SUISSE AG, AS COLLATERAL AGENT
To: NOVELL, INC.
Reel/Frame 028252/0154 →
RELEASE OF SECURITY INTEREST IN PATENTS FIRST LIEN (RELEASES RF 026270/0001 AND 027289/0727) Recorded May 22, 2012
From: CREDIT SUISSE AG, AS COLLATERAL AGENT
To: NOVELL, INC.
Reel/Frame 028252/0077 →
GRANT OF PATENT SECURITY INTEREST (SECOND LIEN) Recorded May 13, 2011
From: NOVELL, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 026275/0018 →
GRANT OF PATENT SECURITY INTEREST Recorded May 12, 2011
From: NOVELL, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 026270/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 16, 2002
From: ROWLEY, DAVID D.; GALE, SEAN D.; CHRISTENSEN, THOMAS K.; FISCHER, JEFFREY A.; JENKINS, CRAIG R.
To: NOVELL, INC.
Reel/Frame 012901/0562 →