System and method for managing remote computer training labs

An educational and training system allows organization and management of computers and course material used in teaching and administering classes of computer based information. Remote users access computers in laboratories or virtual classrooms as if they were actually using the computers within the laboratory or classroom. The system also allows management and tracking of the remote users and of other various course details.

TECHNICAL FIELD

The present invention relates to permitting training of multiple users at remote sites using geographically remote computer equipment and, more particularly, to a system and method for managing remote computer training labs.

BACKGROUND

In an academic or training environment, teaching and learning may include lecture and practice components. Generally, lecture includes one-to-many teaching where an instructor presents information to a group of co-located students in a classroom or other facility. Often, the lecture component involves a presentation of information or a demonstration with limited interaction or active participation by a significant number of the students. The practice component is typically somewhat self-paced and permits students to apply knowledge presented via a lecture.

Computer training facilities often feature a training room having training computers. Each of the training computers typically has one or more pre-installed training software applications. Such a training room generally allows students to interactively practice computer skills and knowledge. For example, the training room may permit students to practice with or apply information presented via a lecture in order to obtain “hands on” experience working with the training software applications. An instructor at the training room may supervise, monitor, and assist students at the training room as the students use the training room.

Frequently, however, students must travel from remote locations to the training room for training or practice with the training computers. For some, the expense, time consumed, and inconvenience associated with having to travel from a remote location to the training room is a significant burden.

Some companies, for example, maintain a training room for training individuals, such as employees and customers, on training computers. Requiring these individuals to travel to the training room for each training session can be expensive, time-consuming, and inconvenient.

Conventional real-time communications systems permit remote users to communicate. Recent advances in such communication systems integrate voice, video and data to permit interaction and collaboration between remote users. These systems are conventionally employed for delivering lecture-type components of certain training and education to remote users. Such systems, however, are generally limited in that they fail to provide students with hands on training using preinstalled software, such as that available at conventional training rooms. Accordingly, remote students are unable to conveniently obtain benefits of practicing at a training room without having to travel to the training room locale.

Further, conventional systems fail to provide a system and method by which an instructor may designate certain training computers for use in a particular training session and managing access to these computers by remote students. These systems also fail to permit an instructor to monitor activity of the users at the training computers during a training session.

SUMMARY

A need exists, therefore, for a system and method by which remote students may participate in a training session whereby remotely-located students may train on training computers having pre-installed software and an instructor may monitor the activity of the students at the training computers. The students access the training computers remotely via a network connection.

In one embodiment, a central computer system provides a synchronous collaboration service that may be adapted for teaching. The central computer system permits individuals, such as course administrators and instructors, to manage the training computers to permit the training computers to be used during training sessions.

According to one aspect, the central computer system includes remote access software to permit a remote user to connect to the central computer system. The central computer system then connects to one or more of the training computers. In this configuration, for example, an individual, such as a student, located at a remote computer may control inputs and receive outputs from a training computer via the central computer system. A course instructor, or other authorized individual, located at a remote computer may receive outputs from a training computer via the central computer system.

Pursuant to another aspect, the central computer system provides for scheduling, configuration, and session management for training sessions. The central computer system may provide a web site comprising one or more web pages that allow an authorized individual to create and configure a set of training computers for students to access remotely. Lab administration web pages permit lab administrators to create and configure a set of training computers for a training session by users at remote computers. From the lab administration web pages, a lab administrator may remotely access each individual lab computer to configure it for remote training sessions. The lab administration web pages also permit the lab administrator, or other authorized individuals to obtain usage reports of the training computers by students at remote computers.

Lab scheduling web pages permit authorized individuals to view lab usage schedules and permit reserving training computers for future training sessions. In one embodiment, the lab scheduling web pages graphically illustrate time slots and the number of available training computers for each scheduled training session. Further, using the lab scheduling web pages, specific training computers may be assigned to specific students for one or more particular training sessions.

Accordingly, an authorized individual, such as a course instructor or lab administrator may schedule a training session and reserve certain training computers for use by remote students during the training session. During the training session, individual students remotely access associated training computers that have been reserved for the training session and train using installed training software applications. An instructor remotely oversees the activity of the students during the training session. The instructor may remote into a session of any of the training computers and view the activity on that computer. Thus, a number of remote students may access a number of training computers within a training session. An instructor monitors the activity of the students at the various training computers within the session.

In one aspect, training sessions can be live or on-demand. Live training sessions are led by a course instructor and may be attended by a number of students, at least some of which can be remote. On-demand training sessions can be sessions in which students are learning on their own (in the absence of an instructor). The on-demand training sessions may be made available to students by the course instructor or lab administrator. In one embodiment, the same resources (e.g., desktop computers) can be leveraged for both the live and on-demand training sessions.

DETAILED DESCRIPTION

Example embodiments of the present invention and their advantages are best understood by referring toFIGS. 1 through 17of the drawings. Like reference numerals are used for like and corresponding parts of the various drawings. The example embodiments are merely illustrative and are not in any way intended to limit the scope of the present invention as defined by the accompanying claims.

System Architecture

FIG. 1is a block diagram of an exemplary remote access system100, according to some embodiments of the present invention. Remote computers110,112,114are connected to a central computer system120via a global area computer network130. Global area computer network130may be any computer network connecting geographically distant locations. One such network is the Internet. The connections between remote computers110,112,114and the central computer system120can be any type of connection that allows data to be transferred between remote computer110and central computer system120, such as a HyperText Transport Protocol (HTTP) connection. To ensure that the connection between each of the remote computers110,112,114and the central computer system120is secure, the data transferred over the connection can be encrypted using any suitable encryption techniques, such as Secure Sockets Layer (SSL) encryption.

Training labs140,150are also connected to the central computer system120via the network130. Two training labs are shown for illustrative purposes. However, the number of training labs is limitless. The connection between each lab140,150and the central computer system120can be any type of connection that allows data to be transferred between each lab140,150and the central computer system120, such as an HTTP connection. To ensure that the connection between each lab140,150and the central computer system120is secure, the data transferred over each connection can be encrypted using any suitable encryption techniques, such as SSL encryption.

The lab140includes training computers142. In the illustrated embodiment, the training computers142may be connected to a Local Area Network (LAN)144, which may be a wired or wireless network. A packet forwarding device (e.g., router, gateway)146is shown as interconnecting the LAN144to the network130. In this configuration, each of the computers142may independently exchange data with the network130.

Similarly, the lab150includes training computers152. In the illustrated embodiment, the training computers152may be connected to a Local Area Network (LAN)154. A packet forwarding device (e.g., router, gateway)156is shown as interconnecting the LAN154to the network130. In this configuration, each of the computers152may independently exchange data with the network130.

As described in greater detail below, a user and/or a trainer/teacher/educator can use any remote computer such as remote computers110,112,114to connect to central computer system120via the network130. Once connected, the user can access one of the training computers142,152as long as a connection is established between the training computer142,152and the central computer system120. Training software applications are installed at the training computers142,152to permit users at the remote computers110,112,114to use the training software remotely.

For clarity, the system100is depicted with remote computers110,112,114, and labs140,150, and a single computer at central computer system120. It should be recognized, however, that the system100will typically include many remote computers110,112,114, many training computers142,152, and the central computer system120may include multiple computers (e.g., different types of servers), and storage systems etc. . . . .

In one embodiment, training sessions can be live or on-demand. Live training sessions are led by a course instructor (for example, using a remote computer110,112,114) and may be attended by a number of students, at least some of which can be remote. On-demand training sessions can be sessions in which students are learning on their own (in the absence of an instructor). The on-demand training sessions may be made available to students by the course instructor or lab administrator. In one embodiment, the same resources (e.g., training computers142and152) can be leveraged for both the live and on-demand training sessions.

The central computer system120includes a computer having a processor121, memory122, operating system software123, remote access software124, a web server125, an application server126, and a database127. The processor121can be any suitable processor. Memory122can be any type of suitable memory, such as DRAM, SRAM, a magnetic hard drive, an optical hard drive, or any combination thereof. Operating system software123can be any type of suitable operating system software, such as MS-DOS, WINDOWS 95, 98, NT, ME, 2000, or XP, one of the many versions of UNIX (Solaris, Linux, etc.), or the Macintosh OS. For clarity, the central computer system120is depicted as a single computer. However, central computer system120may, in some embodiments, include multiple computers that perform different functions (e.g., different types of servers).

The remote access software124includes one or more computer programs. The one or more computer programs include computer instructions that, among other things, enable a user to connect to central computer system120and access a training computer142,152via central computer system120. The functionality of remote access software124, which runs on central computer system120, will be discussed in detail below.

The web server125may comprise an HTTP server that serves web pages that can be accessed by the remote computers110,112,114and by the training computers142,152via the network130.

The application server126generates web pages, such as dynamic web pages, served by the web server125based on information stored at the database127. The application server126generally provides management of training sessions conducted by users at remote computers110,112,114remotely using training computers142,152.

The global area computer network130can be any type of computer network that includes numerous computers connected to one another by communications links. In some embodiments, global area network130comprises the Internet.

System Operation

An embodiment of the overall process is shown inFIG. 4A, which should be viewed in conjunction withFIGS. 1-3. In step420, a course instructor or other authorized person wishing to view the schedule of the training lab computers or to schedule time on the computers views the schedule of training computers, an example of which will be discussed later in detail with regard toFIG. 4B. Next, in step422, the instructor selects the number of computers, the time for that he/she wishes to schedule the computers, and the subject to be studied or trained. If the lab computers are to be used in a training session of a particular application, or piece of software, the instructor can select that particular software. If the computers are to be used to teach other subject matter, for example the subject matter of an on-line course, the course materials and any programs required to present them may be chosen. Generally, to simplify the selection process, a list of material can be provided on a web page for the instructor to choose from.

In one embodiment, the application server126permits a training session administrator to create and configure one or more virtual computer labs for students to access remotely from the computers110,112, and114. Specifically, the application server126generates, and the web server125serves, lab administration web pages that permit the training session administrator to remotely access one of the training computers142,152and to remotely configure the training computer142,152for a remote training session, as seen in step424. These and other pages are seen inFIGS. 4B-17. When a selection is configured, the application server126will automatically configure the material for that session.

In step425, instructors and students connect and log onto the online training center from remote computers. Next, once logged into the online training center, both teachers and students connect to the computers that have been configured for the session or class in steps426and428.

The application server126also stores in the database127usage data regarding usage of the training computers142,152by remote users at computers110,112,114, as seen in step430. If so desired, the course instructor, lab administrator, or any other authorized personnel may access any student or users usage data from database127.

FIG. 4Billustrates scheduling screen400. On screen400monthly views402appear for a number of months. A person creating or viewing the schedule of all of the training or lab computers can easily select the month and the day they wish to view. When a particular day404is selected from the monthly views402, more detailed information about the particular day will appear in the expanded day view408. If multiple computer labs are present, the user can select from the multiple labs with scroll down lab menu406. The day can be displayed in increments of one hour from, for example, 8:00 AM to 5:00 PM. A finer gradation, displaying, for example, 10 or 15 minute intervals can also be viewed if desired. Horizontal bars extend to display the time and number of computers that are already booked, or alternatively those that are available. By scrolling over the expanded day view408, captions will appear indicating what the subject material is, the number of computers reserved or available, and the duration of the session. By clicking on a blank space, a new reservation can be made. By clicking on an already reserved session, more details about that session can be seen, such as the name of the participants and if the user is authorized, the amount of time a selected user has spent training or studying online to date.

Hands-On Lab sessions are started by the course administrator or instructor from the Training Center client application. Once a lab session is started the course administrator can reserve computers and assign students to each lab computer for the current session. The course administrator can also “connect” to any of the lab computers that have been reserved for the students. When a participant connects to a remote lab computer, that participant can view the screen of the remote computer on their local machine.

When a selection is configured, the application server126will configure the material for that session. For example, as seen inFIG. 4B, a “Computer Graphics” session will be hosted by a teacher or trainer Scott Yu. The computers in lab140or150seen inFIG. 1will then be configured to present material related to computer graphics. In other words, the lab computers will execute one or more applications or files that can be used to teach or train about computer graphics. Remote users can then access the computers within the labs remotely and run the applications or files as if they were installed on their own computer, or alternatively, as if they were sitting in the computer lab in front of one of the lab computers.

The course administrator can record all the remote lab sessions onto local files. The recording stops and starts whenever participants connect to and disconnect from the remote lab computer.

Although multiple users can be remoted into each lab computer, it is generally preferable to allow only one of the users to control the mouse, keyboard, and display of the lab computer. However, in certain situations the system may be configured to allow multiple users to control the mouse, keyboard, and display of the lab computer. Lab session window500, as seen inFIG. 5, can be viewed by both participant and administrators. Participant pane502illustrates the participants that are participating in the selected session. This dialog window500appears on a participants' local screen when they are connected to a remote lab computer. It displays who else is connected to the remote computer along with a text pane504and chat pane506. The (multi-colored) ball508indicates who is in control of the remote lab computer. The course administrator (indicated as “panelist” in the figure) can use this dialog window to pass control of the remote lab computer from one participant to another. The hand in the figure indicates which of the users has control of the remote lab computer.

The process of starting, configuring, and managing a training session will now be described in detail with reference toFIGS. 6-17.

FIG. 6is an interface screen illustrating a listing of laboratories and the total and available computers in each of the laboratories. The screen shows the lab name, the description of the lab including what subject matter, program, course, or other material is available in each particular lab, the total number of computers allocated to each lab, the number of computers currently utilized by sessions under way, and a link to the lab schedule for each lab as seen inFIG. 4B.

FIG. 7is an interface screen illustrating the computer selection and set-up process for a particular laboratory. The screen displays a list of computers in a selected lab, the status of the computer, for example, whether the computer is available, in session, or offline. The screen also details what applications, or other training or course material is configured for use on each of the computers. An administrator or other authorized person can connect or disconnect the computers to/from a session. The administrator may also remove a computer from the lab, move selected computers to another lab, or further configure the material or set-up of selected computers.

FIG. 8is an interface screen illustrating aspects of computer reservation. This screen allows an administrator or instructor to select a lab based upon the description of the lab, and to reserve some number of the available computers.

FIG. 9is an interface screen illustrating computer availability and scheduling. This screen illustrates scheduling conflicts for various sessions being held on different calendar dates. An administrator can either reschedule a session or negotiate with the hosts of other conflicting sessions.

FIG. 10is an interface screen illustrating movement of computers from one laboratory to another.

FIG. 11is an interface screen illustrating management of the laboratory computers. This screen shows the computers reserved for one or more sessions and the participants assigned to each of the computers. An instructor may reserve/unreserve computers or extend the duration of the reservation of any of the computers using this interface.

FIG. 12is an interface screen illustrating computer assignment. Participants can be assigned or unassigned from the various computers, and control can be allocated to a selected user.FIG. 13is an interface screen similar toFIG. 12illustrating computer and participant assignment.FIG. 14is an interface screen illustrating assignment of computers. With this screen, attendees can be grouped and assigned to a selected lab.

FIG. 15is an interface screen illustrating computer usage recording. An administrator or instructor or other authorized person can choose to record the usage and the folder where the usage will be recorded.

FIG. 16is an interface screen illustrating session details. The screen illustrates that a session has been successfully scheduled, and allows a user to start the session (through a hyper-link). The screen also details the session information such as the topic, host, date, time, location and lab computers.

FIG. 17is an interface screen illustrating laboratory usage reports. As discussed previously, participant's usage can be monitored and recorded. This information can be used for many purposes. One important use is to track a student's attendance and performance. The particular interface shown can be configured to prepare a report of selected laboratories during a selected timeframe. The results can then be sorted by any number of criteria, such as, for example by computer, topic or student.

The aforementioned screens and functions described therein can occur in any order and not necessarily the order described. The system is flexible and many of the features and functions can be accessed in different ways by the students, instructors, and administrators.

Remote Access Account Setup

Before a user can set up a target computer120for remote access, the user establishes a user account with a service provider. The service provider can operate a central computer system140, which includes a website. The service provider can provide the remote access service of the present invention and may provide additional services such as data conferencing services. An example of a service provider is WebEx Communications, Inc. of San Jose, Calif.

The preferred method of accessing a target computer is described in U.S. patent application Ser. No. 10/001,435 entitled “System And Method For Accessing A Target Computer From A Remote Location Using A Remote Computer” and filed on Oct. 31, 2001, which is hereby incorporated by this reference in its entirety.