Abstract:
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.

Description:
TECHNICAL FIELD 
       [0001]    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 
       [0002]    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. 
         [0003]    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. 
         [0004]    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. 
         [0005]    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. 
         [0006]    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. 
         [0007]    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 
       [0008]    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. 
         [0009]    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. 
         [0010]    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. 
         [0011]    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. 
         [0012]    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. 
         [0013]    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. 
         [0014]    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. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0015]    For a more complete understanding of embodiments of the present system and method, reference is now made to the following description taken in conjunction with the accompanying drawings. 
           [0016]      FIG. 1  is a block diagram of a system for managing remote computer training labs in accordance with an example embodiment of the present invention. 
           [0017]      FIG. 2  is a block diagram illustrating details an example embodiment of a  FIG. 1  remote computer. 
           [0018]      FIG. 3  is a block diagram illustrating details of an example embodiment of a  FIG. 1  training computer. 
           [0019]      FIG. 4A  is a flow chart of an embodiment of the present invention. 
           [0020]      FIG. 4B  is an interface scheduling screen of an embodiment of the present invention. 
           [0021]      FIG. 5  is a lab session interface screen of an embodiment of the present invention. 
           [0022]      FIG. 6  is an interface screen illustrating a listing of laboratories and the total and available computers in each of the laboratories. 
           [0023]      FIG. 7  is an interface screen illustrating the computer selection and set-up process for a particular laboratory. 
           [0024]      FIG. 8  is an interface screen illustrating aspects of computer reservation. 
           [0025]      FIG. 9  is an interface screen illustrating computer availability and scheduling. 
           [0026]      FIG. 10  is an interface screen illustrating movement of computers from one laboratory to another. 
           [0027]      FIG. 11  is an interface screen illustrating management of the laboratory computers. 
           [0028]      FIG. 12  is an interface screen illustrating computer assignment. 
           [0029]      FIG. 13  is an interface screen illustrating computer and participant assignment. 
           [0030]      FIG. 14  is an interface screen illustrating computer usage recording. 
           [0031]      FIG. 15  is an interface screen illustrating assignment of computers. 
           [0032]      FIG. 16  is an interface screen illustrating session details. 
           [0033]      FIG. 17  is an interface screen illustrating laboratory usage reports. 
       
    
    
     DETAILED DESCRIPTION 
       [0034]    Example embodiments of the present invention and their advantages are best understood by referring to  FIGS. 1 through 17  of 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 
       [0035]      FIG. 1  is a block diagram of an exemplary remote access system  100 , according to some embodiments of the present invention. Remote computers  110 ,  112 ,  114  are connected to a central computer system  120  via a global area computer network  130 . Global area computer network  130  may be any computer network connecting geographically distant locations. One such network is the Internet. The connections between remote computers  110 ,  112 ,  114  and the central computer system  120  can be any type of connection that allows data to be transferred between remote computer  110  and central computer system  120 , such as a HyperText Transport Protocol (HTTP) connection. To ensure that the connection between each of the remote computers  110 ,  112 ,  114  and the central computer system  120  is secure, the data transferred over the connection can be encrypted using any suitable encryption techniques, such as Secure Sockets Layer (SSL) encryption. 
         [0036]    Training labs  140 ,  150  are also connected to the central computer system  120  via the network  130 . Two training labs are shown for illustrative purposes. However, the number of training labs is limitless. The connection between each lab  140 ,  150  and the central computer system  120  can be any type of connection that allows data to be transferred between each lab  140 ,  150  and the central computer system  120 , such as an HTTP connection. To ensure that the connection between each lab  140 ,  150  and the central computer system  120  is secure, the data transferred over each connection can be encrypted using any suitable encryption techniques, such as SSL encryption. 
         [0037]    The lab  140  includes training computers  142 . In the illustrated embodiment, the training computers  142  may 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)  146  is shown as interconnecting the LAN  144  to the network  130 . In this configuration, each of the computers  142  may independently exchange data with the network  130 . 
         [0038]    Similarly, the lab  150  includes training computers  152 . In the illustrated embodiment, the training computers  152  may be connected to a Local Area Network (LAN)  154 . A packet forwarding device (e.g., router, gateway)  156  is shown as interconnecting the LAN  154  to the network  130 . In this configuration, each of the computers  152  may independently exchange data with the network  130 . 
         [0039]    As described in greater detail below, a user and/or a trainer/teacher/educator can use any remote computer such as remote computers  110 ,  112 ,  114  to connect to central computer system  120  via the network  130 . Once connected, the user can access one of the training computers  142 ,  152  as long as a connection is established between the training computer  142 ,  152  and the central computer system  120 . Training software applications are installed at the training computers  142 ,  152  to permit users at the remote computers  110 ,  112 ,  114  to use the training software remotely. 
         [0040]    For clarity, the system  100  is depicted with remote computers  110 ,  112 ,  114 , and labs  140 ,  150 , and a single computer at central computer system  120 . It should be recognized, however, that the system  100  will typically include many remote computers  110 ,  112 ,  114 , many training computers  142 ,  152 , and the central computer system  120  may include multiple computers (e.g., different types of servers), and storage systems etc. . . . 
         [0041]    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 computer  110 ,  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 computers  142  and  152 ) can be leveraged for both the live and on-demand training sessions. 
         [0042]    The central computer system  120  includes a computer having a processor  121 , memory  122 , operating system software  123 , remote access software  124 , a web server  125 , an application server  126 , and a database  127 . The processor  121  can be any suitable processor. Memory  122  can be any type of suitable memory, such as DRAM, SRAM, a magnetic hard drive, an optical hard drive, or any combination thereof. Operating system software  123  can 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 system  120  is depicted as a single computer. However, central computer system  120  may, in some embodiments, include multiple computers that perform different functions (e.g., different types of servers). 
         [0043]    The remote access software  124  includes 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 system  120  and access a training computer  142 ,  152  via central computer system  120 . The functionality of remote access software  124 , which runs on central computer system  120 , will be discussed in detail below. 
         [0044]    The web server  125  may comprise an HTTP server that serves web pages that can be accessed by the remote computers  110 ,  112 ,  114  and by the training computers  142 ,  152  via the network  130 . 
         [0045]    The application server  126  generates web pages, such as dynamic web pages, served by the web server  125  based on information stored at the database  127 . The application server  126  generally provides management of training sessions conducted by users at remote computers  110 ,  112 ,  114  remotely using training computers  142 ,  152 . 
         [0046]    The global area computer network  130  can be any type of computer network that includes numerous computers connected to one another by communications links. In some embodiments, global area network  130  comprises the Internet. 
       System Operation 
       [0047]    An embodiment of the overall process is shown in  FIG. 4A , which should be viewed in conjunction with  FIGS. 1-3 . In step  420 , 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 to  FIG. 4B . Next, in step  422 , 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. 
         [0048]    In one embodiment, the application server  126  permits a training session administrator to create and configure one or more virtual computer labs for students to access remotely from the computers  110 ,  112 , and  114 . Specifically, the application server  126  generates, and the web server  125  serves, lab administration web pages that permit the training session administrator to remotely access one of the training computers  142 ,  152  and to remotely configure the training computer  142 ,  152  for a remote training session, as seen in step  424 . These and other pages are seen in  FIGS. 4B-17 . When a selection is configured, the application server  126  will automatically configure the material for that session. 
         [0049]    In step  425 , 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 steps  426  and  428 . 
         [0050]    The application server  126  also stores in the database  127  usage data regarding usage of the training computers  142 ,  152  by remote users at computers  110 ,  112 ,  114 , as seen in step  430 . If so desired, the course instructor, lab administrator, or any other authorized personnel may access any student or users usage data from database  127 . 
         [0051]      FIG. 4B  illustrates scheduling screen  400 . On screen  400  monthly views  402  appear 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 day  404  is selected from the monthly views  402 , more detailed information about the particular day will appear in the expanded day view  408 . If multiple computer labs are present, the user can select from the multiple labs with scroll down lab menu  406 . 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 view  408 , 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. 
         [0052]    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. 
         [0053]    When a selection is configured, the application server  126  will configure the material for that session. For example, as seen in  FIG. 4B , a “Computer Graphics” session will be hosted by a teacher or trainer Scott Yu. The computers in lab  140  or  150  seen in  FIG. 1  will 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. 
         [0054]    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. 
         [0055]    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 window  500 , as seen in  FIG. 5 , can be viewed by both participant and administrators. Participant pane  502  illustrates the participants that are participating in the selected session. This dialog window  500  appears on a participants&#39; 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 pane  504  and chat pane  506 . The (multi-colored) ball  508  indicates 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. 
         [0056]    The process of starting, configuring, and managing a training session will now be described in detail with reference to  FIGS. 6-17 . 
         [0057]      FIG. 6  is 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 in  FIG. 4B . 
         [0058]      FIG. 7  is 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. 
         [0059]      FIG. 8  is 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. 
         [0060]      FIG. 9  is 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. 
         [0061]      FIG. 10  is an interface screen illustrating movement of computers from one laboratory to another. 
         [0062]      FIG. 11  is 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. 
         [0063]      FIG. 12  is 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. 13  is an interface screen similar to  FIG. 12  illustrating computer and participant assignment.  FIG. 14  is an interface screen illustrating assignment of computers. With this screen, attendees can be grouped and assigned to a selected lab. 
         [0064]      FIG. 15  is 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. 
         [0065]      FIG. 16  is 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. 
         [0066]      FIG. 17  is an interface screen illustrating laboratory usage reports. As discussed previously, participant&#39;s usage can be monitored and recorded. This information can be used for many purposes. One important use is to track a student&#39;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. 
         [0067]    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 
       [0068]    Before a user can set up a target computer  120  for remote access, the user establishes a user account with a service provider. The service provider can operate a central computer system  140 , 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. 
         [0069]    The preferred method of accessing a target computer is described in U.S. patent application Ser. No. 10/001435 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.