US20060057551A1 - Versatile resource computer-based training system - Google Patents
Versatile resource computer-based training system Download PDFInfo
- Publication number
- US20060057551A1 US20060057551A1 US11/270,869 US27086905A US2006057551A1 US 20060057551 A1 US20060057551 A1 US 20060057551A1 US 27086905 A US27086905 A US 27086905A US 2006057551 A1 US2006057551 A1 US 2006057551A1
- Authority
- US
- United States
- Prior art keywords
- lesson
- resource
- computer
- student
- audio
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
- 238000012549 training Methods 0.000 title claims abstract description 88
- 238000000034 method Methods 0.000 claims abstract description 52
- 238000004891 communication Methods 0.000 claims abstract description 21
- 230000004044 response Effects 0.000 claims description 51
- 230000001360 synchronised effect Effects 0.000 claims description 5
- 238000012360 testing method Methods 0.000 claims description 5
- 230000000750 progressive effect Effects 0.000 abstract description 19
- 230000005055 memory storage Effects 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 43
- 238000013515 script Methods 0.000 description 25
- 238000004088 simulation Methods 0.000 description 20
- 238000001514 detection method Methods 0.000 description 18
- 238000012552 review Methods 0.000 description 17
- 230000007704 transition Effects 0.000 description 17
- 238000011156 evaluation Methods 0.000 description 14
- 230000008569 process Effects 0.000 description 11
- 230000000007 visual effect Effects 0.000 description 11
- 238000007726 management method Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000003068 static effect Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000003339 best practice Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000002452 interceptive effect Effects 0.000 description 3
- 230000001755 vocal effect Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000000052 comparative effect Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000008676 import Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 101001121506 Homo sapiens Protein odd-skipped-related 2 Proteins 0.000 description 1
- 102100025660 Protein odd-skipped-related 2 Human genes 0.000 description 1
- VYPSYNLAJGMNEJ-UHFFFAOYSA-N Silicium dioxide Chemical compound O=[Si]=O VYPSYNLAJGMNEJ-UHFFFAOYSA-N 0.000 description 1
- 208000003028 Stuttering Diseases 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000001747 exhibiting effect Effects 0.000 description 1
- 230000002045 lasting effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000002250 progressing effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09B—EDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
- G09B7/00—Electrically-operated teaching apparatus or devices working with questions and answers
Definitions
- This invention relates generally to the field of computer-based training systems and, more particularly, to a computer-based training system in which a single stored copy of a versatile resource, such as a display page, bit map, audio file, or video file may be used to create instances of the resource “on the fly” for use in connection with multiple training lessons.
- a versatile resource such as a display page, bit map, audio file, or video file
- CBT Computer-based training
- CBT system is known to be a particularly effective method for training call center operators.
- Many other tasks can similarly benefit from CBT system, such as from foreign language training, flight simulation, computer diagnostics, medical procedures, parcel handling, automotive repair, and many others.
- the aim of the CBT system is to simulate the task environment using the computer, and in some cases other types of equipment, to play or display a training session to a student user. This allows the student user to experience the task environment in a training mode before actual exposure to the task.
- more realistic CBT system simulations are more effective training devices.
- CBT systems Although many types of CBT systems have been developed, these conventional CBT systems typically suffer from a number of drawbacks. For example, complicated tasks such as call center operations or flight simulation involve an extremely large number of simultaneous actions and task scenarios that could occur in actual operations. Creating a separate training scenario for each and every actual scenario that might occur might be prohibitively expensive in terms of programming time, computer memory, or other scarce resources. Moreover, configuring the CBT system to jump from one stored scenario to another in responses to decisions or choices that occur during the course of a simulation greatly increases the complexity of the system. As a result, only the most expensive CBT system applications, such as flight simulation, justify the cost required to implement a significant number of alternative scenario paths.
- the present invention meets the needs described above in a computer-based training (CBT) system using versatile resources to support multiple training scenarios in a multi-user network environment.
- the resources are referred to as “versatile” because they are separately stored in memory and independently retrievable for display or play in association with multiple lessons.
- versatile resources typically include lesson pages and separately stored data files that can be displayed or played in association with lessons or lesson pages, such as sound files, video files, and bit maps.
- the invention is a computer-based training (CBT) system including an authoring program module that is accessible by a lesson designer to create a number of lessons. Each lesson includes one or more links to versatile resources for display or play in association with the lesson.
- the CBT system also includes one or more runner program modules that are accessible by lesson takers for running the lessons created with the authoring program module.
- the CBT system also includes a relational database that is accessible by the runner program modules.
- the relational database contains administrative information along with information for retrieving desired resources for display or play in association with the lessons. That is, as a runner program module runs a lesson, it accesses that relational database “on the fly” to determine information that allows the runner program module to retrieve the resources to be played or displayed as part of the lesson.
- Each lesson typically includes a plurality pages, and each page typically includes one or more controls defining visual and functional aspects of the page, links to resources, and script instructions defining lesson logic for implementing the page.
- the authoring program module includes a predefined set of menu-driven commands that the lesson designer selectively activates to create the pages, add the controls to the pages, link the pages to the resources, and create the script instructions for rendering pages and implementing lesson logic.
- the menu-driven commands may allow a lesson designer to add standard Windows-supported controls to a lesson page, such as radio buttons, check boxes, combo boxes, and so forth.
- the resources that may be linked to a lesson page typically include bit maps, video files, and audio files.
- the resources are separately stored in memory so that they may be independently retrieved for display or play in association with multiple lessons.
- the lessons and pages are also separately stored in memory so that they may be independently retrieved for display or play in association with multiple lessons.
- each lesson and each page is stored as a separate resource, which allows the lessons and pages themselves to be independently retrieved for display or play in association with multiple lessons.
- student responses to a lesson may be recorded and stored as resource so that the lesson, along with the student's responses, can be subsequently played back for evaluation.
- the resources are subdivided into a plurality of resource types, with each resource type including one or more similar resources.
- audio files may be a first resource type
- video files may be a second resource type
- bit maps may be a third resource type
- pages may be a fourth resource type, and so forth.
- Each resource is assigned a resource name
- each resource type is assigned a resource type name.
- the resource name and resource type name assigned to a particular resource defines a root path for retrieving that resource from memory.
- the resource name and resource type name for each resource may be retrieved from the relational database and appended together to create the root path for retrieving that resource from memory.
- the authoring program module also includes a capture feature for importing screen objects from foreign program modules into a lesson.
- the capture feature interrogates a target screen object to identify screen object controls that are supported by the authoring program module.
- the capture feature then renders each screen object control within a lesson page to recreate the functional and visual aspects of the screen object control.
- the capture feature also extracts one or more screen object bit maps from the screen object corresponding to visual aspects of the screen object that do not correspond to screen object controls that are supported by the authoring program module.
- the capture feature then stores the extracted bit maps as resources indexed by the relational database, and creates script instructions within the page for combining the screen object controls with the screen object bit maps to recreate the functional and visual aspects of the screen object when running the lesson.
- the invention may also be used to implement multi-mode training session, such as those utilizing a computer as a first communication mode and a telephone as a second communication mode.
- the resources include first and second resource types for play or display in association with the first and second communication modes, respectively.
- the implementation of the lesson logic by the runner program module synchronizes the play or display of the first and second resource types to create an integrated multi-mode lesson. For example, a graphical display on a computer may be synchronized with audio played over a telephone to simulate a work environment of a call center.
- the runner program module resides in a shared folder maintained on a network server. This allows multiple instances of the runner program module to be downloaded from the network server to the student workstations upon command. Each downloaded instance of the runner program module then runs within a memory space maintained on the student workstation, and deletes from the student workstation memory space upon completion of the session.
- this shared folder functionality is a generally available operating system feature that allows each student workstation to download its associated instance of the runner program module without having software specific to the runner program module previously installed on the runner workstation. This allows new student workstations to be added to the CDT system network without having to pre-install any CBT system software modules on the student workstations.
- each student workstation may run the same or different lessons, and each user lesson may proceed at a different rate and take a different path through the lesson logic.
- multiple instances of any given lesson may be simultaneously deployed on multiple student workstations as desired, but only a single copy of the lesson remains permanently stored on the lesson server.
- an evaluation score may be computed based on the user's response to prompts played or displayed as part of a lesson.
- the lesson and the associated user responses may be stored for subsequent playback and evaluation.
- This type of evaluation which shows the student user's keystrokes and other responses to specific commands in real time, can be a more effective evaluation mechanism than other evaluation techniques typically used in CBT systems, such as knowledge-based testing techniques.
- the CBT system is also equipped to implement realistic multi-modal training lessons, such as training lessons designed for call center operators who use computer-based utilities to response to customer transactions received over the telephone.
- a student user typically provides audible responses to prompts played or displayed as part of a lesson.
- the CBT system is configured to progress the lesson logic in response to detection of an audible response and a predetermined period of silence following the audible response. That is, once the CBT system prompts the user for an audible response, it waits to detect an audible response followed by a predetermined period of silence before progressing the lesson to the next task.
- the CBT system is also equipped to implement training through a technique known as “progressive mentoring.”
- a lesson is divided into a plurality of skill-related task types, such as typing and speaking.
- Each task type is configured to selectively run in a demonstration mode in which user responses are not required to prompts relating to that task type, or in a training mode in which user responses are required to prompts relating to that task type.
- This allows the user to observe the lesson with all types of tasks in the demonstration mode, and then to practice the lesson with one type of task in the training mode while the other task is in the demonstration mode. Once the student becomes confident at these levels of mentoring, the student can “go solo” with all types of types of tasks operating in the training mode
- the CBT system includes a computer network defining a number of network ports for connecting servers and workstations to the network.
- a lesson server functionally connected to a network port stores a group of lessons that each include a synchronized set of audio and interactive graphical display resources.
- the CBT system also includes a number of student workstations that are each connected to a network port and configured to display the graphical display resources of a selected lesson and to receive interactive student responses to these resources.
- the CBT system also includes an audio server that is connected to a network port and includes a number of audio ports for connecting the audio server to an equal number of telephone lines.
- the audio server is configured to play the audio resources of the selected lesson in synchronism with the display of the associated graphical display resources.
- the CBT system also includes a group of telephone extensions. Each telephone extension is typically associated with and located near a student workstation to allow the student workstation and the associated telephone extension to be accessed simultaneously by a student user.
- the CBT system also includes a private branch exchange (PBX) that is functionally connected to the audio server by way of a trunk of telephone lines, with each line of the trunk connected to an associated audio port on the audio server.
- PBX private branch exchange
- the PBX is configured to selectively assign available lines of the trunk to the telephone extensions to connect the telephone extensions to the audio server. That is, upon receipt of a telephone call the PBX connects an available trunk line to the incoming telephone extension line, which connects a particular audio port of the audio server to the telephone extension.
- the audio server After obtaining a unique identification number from the lesson server, the audio server then delivers that audible identification number to the student user on the telephone extension.
- the CBT extension Upon entry of the identification into the student workstation, the CBT extension. This correlates the student's workstation with the student's telephone extension to synchronize these two communication modes during the ensuing training session.
- FIG. 1 is a functional block diagram of a network-based computer-based training (CBT) system using versatile resources.
- CBT computer-based training
- FIG. 2 is a functional block diagram illustrating the authoring and running modes in a CBT system.
- FIG. 3 is a diagram illustrating a root path system for storing versatile resources in a CBT system.
- FIG. 4A is a diagram illustrating tables of a relational database employed in a CBT system.
- FIG. 4B is a diagram illustrating additional tables of the relational database of FIG. 4A .
- FIG. 5 is a logic flow diagram illustrating a set-up routine for a CBT system.
- FIG. 6A is a logic flow diagram illustrating a system utilization routine for a CBT system.
- FIG. 6B is a logic flow diagram illustrating a routine for authoring lessons in a CBT system.
- FIG. 7 is a logic flow diagram illustrating a routine for authoring lessons involving progressive mentoring in a CBT system using versatile resources.
- FIG. 8 is a logic flow diagram illustrating a routine for creating lessons in a CBT system.
- FIG. 9 is a logic flow diagram illustrating a routine for defining an event in a CBT system.
- FIG. 10 is a logic flow diagram illustrating a routine for adding controls or capturing application screens in a CBT system.
- FIG. 11 is a logic flow diagram illustrating a routine for interrogating screen objects in a CBT system.
- FIG. 12 is a logic flow diagram illustrating a routine for assigning lessons in a CBT system.
- FIG. 13 is a logic flow diagram illustrating a routine for running lessons in a CBT system.
- FIG. 14 is a logic flow diagram illustrating a routine for synchronizing servers in a CBT system.
- FIG. 15 is a logic flow diagram illustrating a routine for running a selected lesson in a CBT system.
- FIG. 16 is a logic flow diagram illustrating a routine for running a progressive mentoring lesson in a CBT system.
- FIG. 17 is a logic flow diagram illustrating a routine for implementing voiced-based progression in a CBT system.
- FIG. 18 is a logic flow diagram illustrating a routine for setting up a speech detection threshold for voiced-based progression in a CBT system.
- FIG. 19 is a diagram illustrating a speech detection threshold for voiced-based progression in a CBT system.
- FIG. 20 is an illustration of a CBT system user interface for reviewing a lesson result.
- FIG. 21 is an illustration of a CBT system user interface for creating a new lesson author.
- FIG. 22 is an illustration of a CBT system user interface for creating a new lesson.
- FIG. 23 is an illustration of a CBT system user interface for setting lesson properties.
- FIG. 24 is an illustration of a CBT system user interface for creating a task list for a control.
- FIG. 25 is an illustration of a CBT system user interface for inserting audio files into a lesson.
- FIG. 26 is an illustration of a CBT system user interface for selecting an application screen to capture into a lesson.
- FIG. 27 is an illustration of a CBT system user interface including an application screen captured into a lesson.
- FIG. 28 is an illustration of a CBT system user interface for creating a new student.
- FIG. 29 is an illustration of a CBT system user interface for assigning a lesson to a student.
- FIG. 30 is an illustration of a CBT system user interface for student login.
- FIG. 31 is an illustration of a CBT system user interface for viewing lessons assigned to a student.
- FIG. 32 is an illustration of a CBT system user interface running a lesson.
- FIG. 33 is an illustration of a CBT system user interface for logging onto an audio server.
- FIG. 34 is a table describing global tasks for creating lesson logic in CBT system.
- FIG. 35 is a table describing response tasks for creating lesson logic in a CBT system.
- FIG. 36 is a table describing properties available for specific controls in a CBT system.
- FIG. 37 is a continuation of the table of FIG. 36 .
- FIG. 38 is a continuation of the table of FIGS. 36-37 .
- the present invention may be embodied in a network-based computer-based training (CBT) system configured to perform training simulations using versatile resources.
- CBT computer-based training
- the CBT system presently sold under the name “StarTrainer” embodies many aspects of the invention as described in this specification.
- the resources used by StarTrainer are referred to as “versatile” resources because they are separately stored in memory and independently retrievable for display or play in association with multiple lessons.
- These versatile resources typically include lesson pages and separately stored data files that can be displayed or played in association with lessons or lesson pages, such as sound files, video files, and bit maps.
- the StarTrainer CBT system There are three main components of the StarTrainer CBT system: an audio server, which manages the voice portion of simulation; a courseware server, which manages the application portion of simulation; and authoring tools, which allow the creation of training courses that synchronize voice and data according to specific training objectives.
- the courseware server includes an application program known as “StarRunner” for running previously-authored simulations; an administration utility for creating authors, creating students, assigning lessons to students, and so forth; a relational database for storing administrative and operational information including resource names and paths for retrieving versatile resources from memory; and a stored set of versatile resources.
- the authoring tools include an application program known as “StarDesigner” for creating lessons, a “StarCapture” utility for importing screen displays from other application programs into lessons, and other application program called “AudioLab” for creating sound recordings.
- the audio server is typically deployed within a standard personal computer (PC) with specialized telephony cards that connect it to a private branch exchange (PBX) system. All that's required of the PBX is a “hunt group” appropriate for the number of simultaneous calls that the client would like StarTrainer to support, which can typically be up to 24 lines for each telephony card installed in the audio server.
- the PBX connects a telephone call to an available line selected from the hunt group when the PBX receives a telephone call directed to a “pilot number” assigned to the hunt group. That is, the PBX “hunts” through the group of lines assigned to the hunt group for an available line whenever it receives a telephone call to the pilot number for the hunt group.
- the audio server's functions include recording speech for course content, receiving calls for inbound and outbound simulation, delivering speech throughout the simulation, and recording agent responses for later review. Of course, telephones operate both in wired networks and in wireless networks.
- the CBT system is described in this specification in the context of a wired telephone network. Nevertheless, the term “line” in the telephone context should be interpreted broadly to include a “virtual line,” such as a wireless communication channel, as well as a wired telephone connection.
- a wired or wireless telephone network is a design choice familiar to those skilled in the telephone art, who will understand how to deploy the present invention in a wireless telephone environment without undue experimentation.
- the courseware server which delivers the visual portion of each simulation, also typically runs on a standard PC.
- the courseware server is configured to interconnect with other computers on the network, typically a LAN, where the courseware server appears as an IP address.
- the network allows the courseware server to communicate with the audio server to synchronize data provided by the courseware server via a student workstation on the network with voice data provided by the audio server via a telephone extension connected through the PBX.
- the courseware server delivers screens that simulate the actual work environment, including host applications and scripts, and records trainee responses for playback.
- training sessions may be activated by individual students on demand from any PC workstation on the network. There is no requirement to install or register software on the workstation, nor is a sound card or CD ROM drive necessary.
- the system instructs the student to dial an extension number using any telephone connected to the user's PBX.
- the system synchronizes simulated transactional data presented on the PC workstation with simulated voice conversation played over the telephone connection. This allows students to experience voice interactive training without installing a sound card or speakers on their systems. That is, in lieu of speakers, existing telephone and PBX is used to deliver voice files to the student, and to record student responses.
- a typical process for synchronizing the audio server with the courseware server typically proceeds as follows. First, a student user launches the StarRunner server-based application from a student workstation by double-clicking on an icon in a shared network folder. This shared-folder icon corresponds to the copy of the StarRunner application residing in the courseware server. The launch command causes an instance of the StarRunner application to be downloaded to the student workstation, where it loads into the system memory and becomes active.
- a screen display then asks the student to dial a pre-defined number on a nearby telephone extension; namely, the pilot number for the hunt group in the PBX assigned to the audio server. The screen display may give this number to the student, or the student may be expected to know this number from a previous orientation session. In either case, the student then dials the pilot number on the telephone extension.
- the PBX Upon receiving the telephone call, the PBX connects the student's telephone extension with the audio server by finding an available line within the hunt group and connecting that line with the incoming telephone line from the student's telephone extension.
- the audio server then receives the telephone call on a particular audio port having an assigned port number; namely, the port connected to the telephone line selected by the PBX to connect the audio server with the student's telephone extension.
- the audio server Upon receiving the telephone call, the audio server contacts courseware server and delivers a message to the courseware server.
- This message which includes the audio port number for the subject training session, requests the courseware server to issue an identification or PIN for the training session.
- the courseware server either randomly generates or looks up an available PIN from a predefined memory location, and delivers the PIN to the audio server.
- the courseware server also stores the PIN and the audio port number for the training session in a table for later use.
- the audio server then employs pre-recorded audio files to play the PIN on the student's telephone extension along with a recording asking the student to enter the PIN into a predefined edit field within a dialog box displayed on the student's workstation.
- the student then enters the PIN in the dialog box along with an “OK” command, which delivers the PIN to the courseware server.
- the courseware server uses the PIN to correlate the network address for the student's workstation with the audio port in the audio server that is connected to the student's telephone extension. Specifically, the courseware server enters the network address for the student's workstation into the reference table, completing a record for the training session that includes the PIN, the audio server port number for the training session, and the network address for the student's workstation.
- the courseware server references this record to route audio files for the training session to the correct audio server port, which causes the audio server to play these audio files on student's telephone extension phone.
- the StarRunner application software then presents the student with a list of available lessons, and the training session begins. To conclude the training session, the student simply hangs up the telephone extension, or closed the StarRunner application.
- the StarTrainer system also employs voice interactivity, which is also referred to as voice-based progression, in training sessions.
- voice interactivity which is also referred to as voice-based progression
- Conventional CDT system usually require the user to perform some sort of kinetic action to progress in the lesson, such as pressing a key of the keyboard or mouse-clicking on a button on the screen.
- the StarTrainer CDT system employs silence detection to detect when a student has started speaking and when the student has stopped speaking.
- This voice management technology may be use when a student uses a separate telephone connected to the CBT network through a PBX, and when a student uses a standard sound card and speakers/microphone connected to the student's workstation. In either case, voice-based progression provides a more realistic training experience.
- Progressive mentoring is a methodology implemented by the StarTrainer CBT system that exposes the student to the skills of the business process one skill at a time to build the knowledge and skills incrementally.
- the goal of progressive mentoring is to quickly teach the student to listen, think, talk and type all at the same time without overwhelming the student's sensory system all at once.
- the student typically observes the system plays the role of the expert mentor.
- the student watches keyboard and mouse activity taking place on the PC and listens to the conversation between the expert and the customer.
- the student talks with the customer while the system continues to handle the keyboard and mouse activity.
- the responsibilities swap and the student works the keyboard and mouse to interact with the application program, while the system does the speaking.
- progressive mentoring breaks a multi-modal task into “n” steps.
- the system then allows the student to monitor all “n” steps being performed by the system as a tutorial, with the ability to stop, start and replay the lesson as often as they wish.
- the student can then start performing the tasks for any one or any combination of the “n” tasks, while the system performs the remainder.
- the student can stop, start and replay any combination of tasks as often as they wish.
- the system scores the student based upon a comparative of best practices setup by the lesson designer. The student's input as well as scores can used for self-evaluation as well as stored for later comparatives.
- the lesson designer breaks a defined task into its distinct parts. In most cases in which this system is used, it will consist of a minimum of two separate communication modes, such as talking on the telephone with another individual, and typing or mouse commands to interact with a computer program. While more esoteric functions such as listening and thinking are by necessity required, they are normally not broken into separate distinct functions.
- the authoring process typically proceeds as follows. First, the lesson designer authors a “best practices” scenario to simulate proper performance of the task. For example, a call from a customer that covers one of the most frequently asked questions. The lesson designer then creates create the customer dialog to simulate the selected scenario. Next, the lesson designer creates the student dialog exhibiting corporate best practices. Typically, separate individuals record the dialog for each of the roles in the selected scenario. The designer then captures screens from the software the student would utilize when performing these tasks. Using StarDesigner, the lesson designer creates the “n” steps outlined above, first creating the entire scenario with both sides of the dialog as well as all computer interaction. The designer then repeats the process for each training mode.
- FIG. 1 is a functional block diagram of an illustrated embodiment of the invention, a network-based CBT system 10 using versatile resources.
- the CBT system 10 may be installed on any type of computer network, such as a LAN, WAN, Ethernet, the Internet, and so forth.
- the CBT system 10 operates on a typical office-environment TCP-IP LAN 12 that works in connection with the office's telephone PBX 14 .
- the LAN 12 includes a number of network ports that are used to interconnect a audio server workstation 16 , a courseware server workstation 18 , one or more student workstations 20 , and one or more designer workstations 22 .
- a common operating system such as WINDOWS NT, as represented by the operating systems 26 a - d.
- the audio server workstation 16 and the courseware server workstation 18 may be PC workstations running at least Pentium 300 MHz processors with 128 MB RAM, 8 GB hard drive, and CD ROM drive running WINDOWS NT Server 4.0 or higher operating system software with at least Service Pack 5 .
- the student workstations 20 and the designer workstations 22 may be PC workstations running at least Pentium 133 MHz processors with 32 MB RAM and a 800 ⁇ 600 video display running WINDOWS 95 OSR2, WINDOWS 98, or WINDOWS NT Workstation 4.0 or higher operating system software with Service Pack 5 .
- the network 12 should provide 10 Mbps or faster Ethernet links and TCP/IP protocol allowing both static and dynamic network addressing.
- the audio server workstation 16 preferably includes audio server software 28 , a DIALOGIC card driver 30 , and one or more DIALOGIC telephone card 32 .
- the telephone card 32 includes a number of audio ports for connection to telephone lines.
- a U.S. standard card typically includes 24 audio ports for connection to a standard 24-line T 1 telephone trunk.
- a European standard card typically includes 30 audio ports for connection to a standard 30-line E 1 telephone trunk.
- Multiple telephone cards 32 may be used to increase the number of simultaneous users supported by the CBT system 10 .
- the audio ports of each telephone card 32 are connected to the PBX 14 by way of a telephone trunk 34 , such as a T 1 or E 1 telephone trunk.
- the CBT system 10 may use one or more DIALOGIC analog cards and analog trunk lines.
- the PBX 14 is configured with a hunt group 36 that corresponds to the lines of the telephone trunk 34 .
- the PBX 14 connects an incoming telephone call to an available line within the trunk 34 selected from the hunt group 36 whenever the PBX 14 receives a telephone call directed to a “pilot number” assigned to the hunt group 36 . That is, the PDX 14 “hunts” through the lines of the trunk 34 for an available line within the whenever it receives a telephone call to the pilot number for the hunt group 36 .
- the designer workstation 22 includes authoring tool that a lesson designer uses to create lessons. These authoring tools include an application program 42 known as “StarDesigner” for creating lessons, a “StarCapture” utility 44 for importing screen displays from other application programs 48 into lessons, and the AudioLab application program 46 for creating sound recordings.
- the designer workstation 22 also includes a monitor 50 a and a keyboard/mouse input device 52 a.
- the StarDesigner, StarCapture, and AudioLab modules 42 , 44 , and 46 are menu-driven design tools that utilize the programmer's tool kit supported by the WINDOWS operating environment. For example, a lesson designer can create lessons pages by adding standard WINDOWS controls, such as radio buttons, check boxes, combo boxes, and so forth.
- the lesson designer can then define the standard properties that define the appearance of these controls.
- the lesson designer can also link resources to lesson page, such as bit maps, video files, and audio files.
- the lesson designer can also specify lesson logic for implementing the lesson pages, which StarDesigner stores as Visual Basic script instructions. Of course, other scripting languages could also be used in alternative implementations.
- the student workstation 20 includes a monitor 50 b and a keyboard/mouse input device 52 b and sufficient internal memory to allow an instantiation of the StarRunner application 54 to be loaded into and run on the student workstation 20 .
- No specialized software or hardware needs to be installed on the student workstation 20 .
- a permanent copy of the StarRunner application 64 resides in a shared folder maintained on the courseware server workstation 18 . This allows multiple instances of the StarRunner application 64 to be downloaded from the courseware server workstation 18 to the student workstations 20 upon command. Each downloaded instance 54 of the StarRunner application then runs within a memory space maintained on the student workstation 20 , and deletes from the student workstation memory space upon completion of the session.
- This shared folder functionality is a generally available feature of the WINDOWS operating system 26 , which allows each student workstation to download its associated instance of the StarRunner application without having software specific to the StarRunner application previously installed on the student workstation 20 . This allows new student workstations to be added to the network 12 without having to pre-install any CBT system software modules on the workstations.
- the courseware server workstation 18 includes a database engine 60 , such as SYBASE SQL ANYWHERE database engine. Of course, another type of database engine could be used.
- the courseware server software 62 is then installed on the database engine 60 .
- the courseware server software 62 includes the StarRunner application 64 for running previously-authored simulations, an administration utility 66 for creating authors, creating students, assigning lessons to students, and so forth; a relational database 68 for storing administrative and operational information including resource names and paths for retrieving versatile resources from memory; and a stored set of versatile resources 70 .
- FIG. 2 is a functional block diagram illustrating the authoring and running modes of the CBT system 10 .
- a lesson designer uses the StarDesigner application 42 to create one or more lessons.
- the StarCapture application 44 may be used to import screen objects into the lesson from other applications 48 .
- the AudioLab application program 46 is used to create and store sound files
- the administration utility 66 is used to perform administrative functions, such as assigning particular lessons to particular students.
- a course 200 may include multiple lessons represented by the lessons 202 a - c.
- Each lesson includes a list of pages represented by the pages 204 a - c. That is, a lesson points to a list of pages but does not physically include the pages themselves.
- Each page includes a list of resources 206 referenced by that page and run script 208 for implementing the lesson logic for the page. Again, each page points to a list of resources but does not physically include the resources themselves. This allows each page and each resource to be configured as a stand-alone unit that may be independently stored and retrieved from memory for use in multiple lessons.
- the relational database 68 contains administrative information along with information for retrieving desired resources for display or play in association the lessons. That is, as a StarRunner application 54 runs a lesson, it accesses that relational database 68 “on the fly” to determine information that allows the StarRunner application to retrieve the pages and resources 70 to be played or displayed as part of the lesson.
- the resources 70 include three categories of resources, all of which are independently stored and retrieved from memory.
- the first category includes script resources that include lesson logic. This category includes courses (lists of lessons), lessons (lists of pages), and pages (lists of resources with associated run script).
- the second category includes data resources that can be played or displayed during a simulation. These resources include audio files, video files, and bit maps.
- the third category includes evaluation resources that are recorded while a student takes a lesson. These resources include recorded audio files, response files, and review files.
- a recorded audio file typically includes the student's voice as recorded during a lesson.
- a response file typically includes a student's inputs entered into the student's workstation in response to tasks that the student is asked to perform during a lesson.
- a review file typically includes a vector file documenting mouse and keyboard actions during a lesson.
- a recorded audio file and a review file can be played in association with the corresponding lesson to playback the result of a student's actual verbal and physical mouse and keyboard movements during a previously taken lesson.
- This type of review file in which the student's actual movements and utterances can be reviewed, is superior to the knowledge-based testing approach for many applications.
- the vector file requires a small fraction of the memory storage that would be required to store a video file documenting the training session.
- FIG. 3 is a diagram illustrating a root path system for storing versatile resources 70 in the CBT system 10 .
- the resources 70 are subdivided into a plurality of resource types, with each resource type including one or more similar resources.
- courses are assigned to a first resource type 72
- lessons are assigned to a another resource type 74
- pages are assigned to a another resource type 76
- audio files are assigned to a another resource type 78
- video files are assigned to a another resource type 80
- bit maps are assigned to a another resource type 82
- recorded audio files are assigned to a another resource type 84
- response files are assigned to a another resource type 86
- review files lessons are assigned to a another resource type 88 .
- Each resource is assigned a resource name
- each resource type is assigned a resource type name.
- the resource name and resource type name assigned to a particular resource defines a root path for retrieving that resource from memory.
- the resource name and resource type name for each resource may be retrieved from the relational database 68 and appended together to create the root path for retrieving that resource from memory.
- FIG. 4A is a diagram illustrating tables of a relational database 68 employed in the CBT system 10 .
- a Star Users table 90 includes a record for each authorized user of the CBT system 10 .
- Each record of the Star Users table 90 includes a user identification number, user information, and a designation of user rights.
- the hierarchy of user rights typically include super administrators, administrators, lesson designers, and students. That is, a higher level in the hierarchy typically enjoys all the rights of the lower levels plus additional rights.
- Super administrators can add and delete administrators and access program code. Administrators can add and delete students and authors, and can also access response, review, and recorded audio files for student evaluation. Lesson designers can add and delete lessons and assign to students or remove lesson assignments. Students are only authorized to take lessons.
- the user information typically includes items such as address, telephone number, e-mail address, job title, department number, employee number, login password, and so forth.
- the Star Users table 90 is a dynamic table that changes whenever a user record is added, deleted or changed.
- a Resource Type table 92 includes a record for each type of resource of the CBT system 10 .
- the resource types include courses, lessons, pages, audio files, video files, bit maps, recorded audio files, response files, and review files.
- Each record of the Resource Type table 92 includes a resource type identification number, a resource type name, and a resource path identification number.
- the Resource Type table 92 is a static table that would change only if a new resource type was added to the CBT system 10 .
- a Resources table 94 includes a record for each resource of the CBT system 10 .
- Each record of the Resources table 94 includes a resource identification number, the resource type name, the resource path identification number, a resource name, the name of the author of the resource, a description of the resource, a miscellaneous field, and a miscellaneous text field.
- the resource name is used as part of the root path for retrieving resources of that particular type from storage.
- the Resources table 94 is a dynamic table that changes whenever a resource is added, deleted or changed.
- the miscellaneous field typically includes a “locked flag” that indicates whether the resource is locked.
- the miscellaneous text field is presently reserved for future use.
- a Resources Paths table 96 includes a record for each type of resource of the CBT system 10 .
- Each record of the Resources table 94 includes the resource path identification number, and the resource path name, which is used as part of the root path for retrieving resources of that particular type from storage. That is, the resource path name from the Resources Paths table 96 may be appended to the resource name from the resource name from the Resources table 94 to obtain the root path for retrieving a particular resources from storage.
- the Resources Paths table 96 is a static table that would change only if a new resource type was added to the CBT system 10 .
- a Resources Locks table 98 includes a record for each resource that is open in the StarDesigner application 42 . This table allows the CBT system 10 to lock lesson designers out of a particular resource while another lesson designer is working on that same resource. This prevents multiple lesson designers from making inconsistent changes to the same resource at the same time.
- Each record of the Resources Locks table 98 includes a resource identification number for the open resource, a user identification for the user who has the resource open, the machine name where the resource is open, and the date and time when the resource was opened.
- the Resources Locks table 98 is a dynamic table that changes whenever a user opens a record in StarDesigner.
- a Resources Assignments table 100 includes a record for lesson assigned to a student. This table allows the CBT system 10 to keep track of lesson assignments.
- Each record of the Resources Assignments table 100 includes an assignment identification number, the resource identification number for the assigned lesson, a user identification for the student assigned the lesson, and a miscellaneous field that may indicate the number of times that the student has taken, or is assigned to take, the lesson. This may be a dynamic field that counts up or down to a predefined limit and, once the limit has been reached, the student may not be allowed to take the lesson again.
- the Resources Assignments table 100 is a dynamic table that changes whenever a lesson is assigned to a user, and may also change whenever a student takes a lesson.
- FIG. 4B is a diagram illustrating additional tables of the relational database 68 of FIG. 4A .
- a Resources Dependencies table 102 includes a record for each resource that points to or calls another resource. This table allows the CBT system 10 to prevent the deletion of resources that are used by other resources.
- Each record of the Resources Dependencies table 102 includes a resource identification number for a subject resource, a resource identification number for a resource that is dependent on the subject resource, and a resource identification number for a resource on which on the subject resource depends.
- the Resources Dependencies table 102 is a dynamic table that changes whenever a link to a resource is added or deleted.
- a Lessons Taken table 104 includes a record for each lesson taken. This table allows the CBT system 10 to keep track of lessons as they are assigned and taken by the students. Each record of the Lessons Taken table 104 includes a lesson identification number for a particular lesson taken by a particular student, an indication of the number of questions of the lesson completed by the student, an indication of the number of questions that were answered correctly, the date and time the student began the lesson, the date and time the student completed the lesson, the student identification number for the student who took the lesson, the resource identification number for the lesson, an indication whether the lesson was successfully completed, a score computed in accordance with lesson logic configured into the lesson by the lesson designer, a review file identification number, and a response file identification number.
- the Lessons Taken table 104 is a dynamic table that changes whenever a link to a resource is added or deleted.
- FIGS. 5-18 are logic flow diagrams illustrating methodologies implemented by the CBT system 10 .
- the description of these figures will refer to element numerals of the physical embodiment shown in FIG. 1 , as well as the database configuration shown in FIGS. 4 A-B.
- FIG. 5 is a logic flow diagram illustrating a set-up routine 500 for the CBT system 10 .
- a technician installs the database engine 60 , the courseware server software 62 , and the StarRunner application 54 on the courseware server workstation 18 .
- step 502 is followed by step 504 , in which the technician configures the StarRunner application folder as a share folder. This gives the student workstations 20 access to the StarRunner application.
- step 504 is followed by step 506 , in which the technician installs the audio server software 28 on the audio server workstation 16 .
- step 506 is followed by step 508 , in which the technician installs the DIALOGIC telephone card(s) 32 and the associated software driver in the audio server workstation 16 .
- Step 508 is followed by step 510 , in which the technician uses the telephone trunk 34 to connect the DIALOGIC telephone card(s) 32 to the PBX 14 .
- each telephone line of the trunk 34 connects to an associated audio port on the DIALOGIC telephone card(s) 32 .
- Step 510 is followed by step 512 , in which the technician configures the PBX 14 with a hunt group 36 for the lines of the trunk 34 , which are connected to the ports of the DIALOGIC telephone card(s) 32 .
- step 512 is followed by step 514 , in which the technician installs StarDesigner 42 , StarCapture 44 , and AudioLab 46 on one or more designer workstations 22 , as desired.
- Step 514 is followed by step 516 , in which the technician configures the designer workstations 22 with network address for the Courseware Server workstation 18 . This completes the set-up routine 500 .
- FIG. 6A is a logic flow diagram illustrating a system utilization routine 600 for the CBT system 10 .
- routine 602 a lesson designer authors one or more lessons using StarDesigner 42 , StarCapture 44 , and AudioLab 46 one of the designer workstations 22 .
- Routine 602 is described in greater detail with reference to FIG. 6B .
- Routine 602 is followed by routine 604 , in which an administrator assigns one or more lessons to one or more students.
- Routine 604 is described in greater detail with reference to FIG. 12 .
- Routine 604 is followed by routine 606 , in which a student takes one or more lessons using an instance of the StarRunner application 54 .
- Routine 606 is described in greater detail with reference to FIG. 13 .
- Routine 606 is followed by step 608 , in which an administrator may review the audio response files, the review files, or the response files recorded or complied while the students took the lessons.
- a recorded audio file and a review file can be played in association with the corresponding lesson to playback the result of a student's actual verbal and physical mouse and keyboard movements during a previously taken lesson.
- FIG. 20 is an illustration of a CBT system user interface for selecting a reviewing file for this purpose.
- FIG. 6B is a logic flow diagram illustrating routine 602 for authoring lessons.
- Routine 602 follows the “BEGIN” step shown on FIG. 6A .
- step 610 a lesson designer logs into the CBT system 10 .
- step 610 is followed by step 612 , in which the courseware server 62 validates the user's identification and access rights by looking up the user's record in the Star Users table 90 . If the user is authorized to create a new author (i.e., if the user is an administrator or super administrator), step 612 is followed by step 614 , in which the user may create or delete one or more authors. This will create or delete records in the Star Users table 90 .
- FIG. 21 is an illustration of the CDT system user interface that may be used to create an author in step 614 .
- step 614 if the user is a designer or higher in the rights hierarchy
- step 612 is followed by step 616 , in which the user assigns a resource name and a resource type to a new lesson.
- step 616 is followed by routine 618 , in which the lesson designer creates the lesson.
- Routine 618 is described in greater detail with reference to FIG. 8 .
- Routine 618 is followed by step 620 , in which the lesson designer saves the new lesson. This creates new record in the Resources table 94 for the new lesson.
- Step 620 is followed by the “RETURN” steps, which returns to step 604 shown on FIG. 6A .
- FIG. 7 is a logic flow diagram illustrating a routine 700 for authoring lessons involving progressive mentoring.
- Routine 700 represents a high level of lesson design, which is superimposed on the more mechanical methodology descried with reverence to FIG. 8 .
- routine 700 describes a particular type of lesson methodology
- FIG. 8 describes the mechanics for creating any type of lesson using the CBT system 10 .
- a lesson is divided into a plurality of skill-related task types, such as typing and speaking. Each task type is configured to selectively run in a demonstration mode in which user responses are not required to prompts relating to that task type, or in a training mode in which user responses are required to prompts relating to that task type.
- step 702 the lesson designer breaks the task down into two or more skill-related task types, such as typing and speaking.
- step 704 in which the lesson designer creates the lesson methodology to demonstrate the desired practices.
- step 704 is followed by step 706 , in which the lesson designer creates a simulation for the lesson with all modes of communication performed automatically by the system. This is the “observation” mode, in which the student simply observes the system perform the tasks as a master.
- step 706 is followed by step 708 , in which the lesson designer recreates the lesson with one or more of the modes left for the student to perform.
- step 708 is followed by step 710 , in which the lesson designer decides whether to create another scenario for the lesson.
- routine 700 If the designer does want to create another scenario, the “YES” branch loops back to step 708 , in which the lesson designer creates another scenario for the lesson. If the designer does not want to create another scenario, the “NO” branch is followed to step 712 , in which the lesson designer creates the selection screens and accompanying script logic for implementing the progressive mentoring lesson. This concludes routine 700 .
- FIG. 8 is a logic flow diagram illustrating routine 618 for creating lessons. Routine 618 follows step 616 shown on FIG. 6A .
- FIG. 22 is an illustration of a CBT system user interface that may be used to create a new lesson in step 618 .
- a lesson designer selects lesson properties to define a page template for the lesson.
- FIG. 23 is an illustration of a CBT system user interface that may 15 be used to establish lesson properties in step 802 .
- the lesson properties are standard WINDOWS tool kit properties for defining a window's appearance, such as a background bit map, a background color, a border style, a caption, the height and width of the window, and the coordinate of the top left corner of the window.
- Step 802 is followed by step 804 , in which the lesson designer adds a page to the lesson.
- Step 804 is followed by routine 806 , in which the lesson designer may define a global event for the page.
- Routine 806 is described in greater detail with reference to FIG. 9 .
- Routine 806 is followed by step 808 , in which the lesson designer decides whether to define another global event for the page. If the designer elects to create another global event for the page, the “YES” branch loops back to step 806 , in which the lesson designer defines another global event for the page.
- routine 810 in which the lesson designer may add a control or capture an application screen into the page.
- the controls are standard WINDOWS tool kit controls for defining a window's appearance and functionality, such as a button, check box, combo box, edit box, text box, list box, radio button, tab control, group box, hot spot, an image link to a separately stored resource, and a video link to a separately stored resource.
- Routine 810 is described in greater detail with reference to FIG. 10 .
- Routine 810 is followed by routine 812 , in which the lesson designer may define an event for the control.
- FIG. 10 routine 812
- Routine 812 is followed by step 814 , in which the lesson designer decides whether to define another event for the control that the designer is presently working on. If the designer elects to create another control event for the page, the “YES” branch loops back to step 812 , in which the lesson designer defines another event for the control.
- step 814 the “NO” branch is followed from step 814 to routine 816 , in which the lesson designer may elect to add another control to the page that the designer is currently working on. If the designer elects to add another control to the page, the “YES” branch loops back to step 810 , in which the lesson designer adds another control to the page. If the designer does not want to add another control to the page, the “NO” branch is followed to routine 818 , in which the lesson designer saves the page. This creates a record in the Resources table 94 for the newly created page. Step 818 is followed by step 820 , in which the lesson designer may elect to add another page to the lesson that the designer is currently working on.
- step 804 the “YES” branch loops back to step 804 , in which the lesson designer adds another page to the lesson. If the designer does not want to add another control to the page, the “NO” branch is followed to routine 822 , in which the lesson designer may modify or delete lessons, pages, or other resources as desired. Step 822 is followed the “RETURN” step, which returns to step 620 shown on FIG. 6B .
- FIG. 9 is a logic flow diagram illustrating routines 806 and 812 for defining a global event or a control event, respectively.
- Routines 806 and 812 begin following steps 804 and 810 , respectively, shown on FIG. 8 .
- the lesson designer may select a task from a task menu. These task allow the lesson designer to build lesson logic into a page or control, such as display a bit map, display a video file, play an audio file, wait for a user action, go to the next page in the lesson, skip to another specified page, and increment a score for the lesson.
- a complete list of the available tasks and their associated properties are included in FIGS. 34-38 .
- Step 902 is followed by step 904 , in which the lesson designer determines whether a resource is required for the event that the designer is programming. If a resource is not required for the event that the designer is programming, the “NO” branch loops down to step 922 , in which the StarDesigner application 42 creates the Visual Basic script for running the selected task. If a resource is required for the event that the designer is programming, the “YES” branch is followed to step 906 , in which the lesson designer determines whether the required resource already exists in the CBT system resources 70 . If the resource already exists in the CBT system resources 70 , the “YES” branch is followed to step 908 , in which the lesson designer creates a link to desired resource. This creates a record in the Resource Dependencies table 102 .
- FIG. 25 is an illustration of a CBT system user interface that may be used to link a page to an audio file in step 908 .
- Step 908 is followed by step 920 , in which the StarDesigner application 42 adds the new resource to the resource list for the current page.
- step 912 the lesson designer specifies whether the desired resource is to be recorded at the present time. If the resource to be recorded at the present time, the “YES” branch is followed to step 914 , in which the lesson designer records the resource. If the resource is not to be recorded at the present time then it is to be imported, and the “NO” branch is followed to step 916 , in which the lesson designer imports the new resource. Steps 914 and 916 are followed by step 918 , in which the lesson designer saves the newly recorded or imported resource. This creates a record for the new resource in the Resources table 94 .
- Step 918 is followed by step 920 , in which the StarDesigner application 42 adds the new resource to the resource list for the current page.
- Step 920 is followed by step 922 , in which the StarDesigner application 42 creates the Visual Basic script for running the selected task.
- step 922 is followed by step 924 , in which the lesson designer may elect to add another task for the event that the designer is currently working on. If the designer elects to add another task for the event, the “YES” branch loops back to step 902 , in which the lesson designer adds another task to the event. If the designer does not want to add another task to the event, the “NO” branch is followed to the “RETURN” step, which returns to step 808 or 814 shown on FIG. 8 .
- FIG. 10 is a logic flow diagram illustrating routine 810 for adding controls or capturing application screens.
- Routine 810 follows the “NO” branch from step 808 shown on FIG. 8 .
- step 1002 the lesson designer elects whether to add a control or capture an application screen. If the lesson designer elects to add a control, the “YES” branch is followed to step 1004 , in which the lesson designer adds the control using the standard features shown on FIGS. 34-38 . If the lesson designer elects to capture an application screen, the “NO” branch is followed to step 1006 , in which the lesson designer launches the application with the desired screen. Step 1006 is followed by step 1008 , in which the lesson designer finds and selects the desired screen object.
- FIG. 10 is a logic flow diagram illustrating routine 810 for adding controls or capturing application screens.
- Routine 810 follows the “NO” branch from step 808 shown on FIG. 8 .
- step 1002 the lesson designer elects whether to add a control or capture an application screen. If the lesson designer
- Step 1008 is followed by routine 1010 , in which the lesson designer interrogates the screen object to recreate its controls.
- the capture feature interrogates a target screen object to identify screen object controls that are supported by the StarDesigner application 42 .
- the capture feature then renders each screen object control within the current lesson page to recreate the functional and visual aspects of the screen object control. Routine 1010 is described in greater detail with reference to FIG. 11 .
- Routine 1010 is followed by step 1012 , in which the lesson designer extracts one or more screen object bit maps from the screen object corresponding to visual aspects of the screen object that do not correspond to screen object controls.
- Step 1012 is followed by routine 1014 , in which the lesson designer saves the extracted bit maps as resources. This creates a record in the Resources table 94 for each saved bit map.
- Step 1014 is followed by step 1016 , in which the StarDesigner application 42 creates the Visual Basic script for combining the extracted bit maps with the screen object controls to recreate the captured screen object on the current page.
- FIG. 27 is an illustration of a CBT system user interface that shows an imported application screen in step 1016 .
- Step 1016 is followed by the “RETURN” step, which returns to step 812 shown on FIG. 8 .
- FIG. 11 is a logic flow diagram illustrating routine 1010 for interrogating a screen object.
- Routine 1010 follows step 1008 shown on FIG. 8 .
- the StarCapture utility 44 interrogates the screen window for objects using its API interface.
- step 1102 is followed by step 1104 , in which the StarCapture utility 44 determines whether the screen window has a menu. If the screen window has a menu, the “YES” branch is followed to step 1106 , in which the StarCapture utility 44 stores the menu in the script for the lesson page.
- step 1106 and the “NO” branch from step 1104 are followed by step 1108 , in which the StarCapture utility 44 stores the WINDOWS properties for the screen window in the in the script for the lesson page.
- Step 1108 is followed by step 1110 , in which the StarCapture utility 44 stores any non-recognized windows as bit maps. These bit maps are then extracted and stored as resources, as described previously with reference to steps 1012 and 1014 .
- Step 1110 is followed by step 1112 , in which the StarCapture utility 44 determines whether the current window has a child window. If the current window has a child window, the “YES” branch loops back to step 1102 , in which the StarCapture utility 44 queries the child window for objects. If the current window does not have a child window, the “NO” branch is followed by the “RETURN” step, which returns to step 1012 shown on FIG. 12 .
- FIG. 12 is a logic flow diagram illustrating routine 604 for assigning lessons.
- Routine 604 follows routine 602 shown on FIG. 6A .
- an administrator or super administrator logs into the courseware server 62 .
- Step 1202 is followed by step 1204 , in which the courseware server 62 validates the user's identification and access rights by looking up the user's record in the Star Users table 90 .
- step 1204 is followed by steps 1206 and 1208 , in which the administrative user may create or delete one or more students. This will create or delete records in the Star Users table 90 .
- FIG. 12 is a logic flow diagram illustrating routine 604 for assigning lessons.
- Routine 604 follows routine 602 shown on FIG. 6A .
- an administrator or super administrator logs into the courseware server 62 .
- step 1204 validates the user's identification and access rights by looking up the user's record in the Star Users table 90 .
- steps 1206 and 1208 in which the administrative user may create or delete one or more
- Step 1208 is followed by step 1210 , in which the administrative user may assign one or more lessons to one or more students, or remove one or more previously created assignments.
- FIG. 29 is an illustration of a CBT system user interface that may be used to assign lessons to students in step 1210 . This will create or delete records in the Resource Assignments table 100 .
- Step 1210 is followed by step 1212 , in which the administrative user may delete records from the Lessons Taken table 104 if desired.
- Step 1212 is followed by the “RETURN” step, which returns to routine 606 shown on FIG. 6 .
- FIG. 13 is a logic flow diagram illustrating routine 606 for running lessons. Routine 606 follows routine 604 shown on FIG. 6A .
- a student workstation 20 receives a double click command on the StarRunner application icon in the shared network folder.
- step 1302 is followed by step 1304 , in which the courseware server 62 downloads an instance of the StarRunner application 54 to the student workstation 20 where the double click command originated.
- the local instance of the StarRunner application 54 then launches and runs within the memory space of the student workstation 20 .
- step 1304 is followed by step 1306 , in which the StarRunner application 54 presents the student with a login screen, and the student logs in.
- FIG. 13 is a logic flow diagram illustrating routine 606 for running lessons. Routine 606 follows routine 604 shown on FIG. 6A .
- step 1302 a student workstation 20 receives a double click command on the StarRunner application icon in the shared network folder.
- step 1304 in which the courseware server 62 downloads an instance of the Star
- step 30 is an illustration of a CBT system user interface that may be used to log into the CBT system in step 1306 .
- Step 1306 is followed by step 1308 , in which the StarRunner application 54 validates the user's identification and access rights by looking up the user's record in the Star Users table 90 . If the user is an authorized student, step 1308 is followed by step 1310 , in which the StarRunner application 54 gets a list of assigned lessons by looking up the lessons assigned to the student in the Resource Assignments table 100 .
- step 1310 is followed by step 1312 , in which the StarRunner application 54 presents the student with the list of available lessons and receives a selection of one of these lessons.
- Step 31 is an illustration of a CBT system user interface that may be used by a student to select a lesson to take in step 1312 .
- Step 1312 is followed by step 1314 , in which the StarRunner application 54 receives a “run lesson” command from the student.
- Step 1314 is followed by routine 1316 , in which the audio server port 20 connected to the student's telephone extension 40 a becomes synchronized with the student's workstation 20 .
- Routine 1316 is described in greater detail with reference to FIG. 14 .
- Routine 1316 is followed by routine 1318 , in which the StarRunner application 54 runs the selected lesson on the student's telephone extension 40 a and the student's workstation 20 .
- FIG. 32 is an illustration of a CDT system user that may used during routine 1318 to display the lesson pages.
- Routine 1318 is described in greater detail with reference to FIG. 15 .
- Routine 1318 is followed by the “RETURN” step, which returns to step 606 shown on FIG. 6 .
- FIG. 14 is a logic flow diagram illustrating routine 1316 for synchronizing an audio port with an associates student workstation.
- Routine 1316 follows step 1314 shown on FIG. 13 .
- a local instance of the StarRunner application 54 running on a student workstation 20 prompts the student to place a telephone call to the pilot number for the hunt group 36 .
- FIG. 33 is an illustration of a CBT system user interface for logging onto the audio server in step 1402 .
- the screen display may give this number to the student, or the student may be expected to know this number from a previous orientation session. In either case, the student then dials the pilot number on the telephone extension 40 b.
- Step 1402 is followed by step 1404 , in which the PBX 14 receives the telephone call and connects the student's telephone extension 40 b with the a particular audio port 71 of the DIALOGIC card 32 audio server by finding an available line 73 of the telephone trunk 34 within the hunt group 36 and connecting that line with the incoming telephone line 38 b from the student's telephone extension.
- the audio server 16 then receives the telephone call on that particular audio port having the assigned port number 71 ; namely, the port connected to the telephone line 73 selected by the PBX 14 to connect the audio server 16 with the student's telephone extension 40 b.
- Step 1404 is followed by step 1406 , the audio server 16 contacts courseware server 18 and delivers a message 80 to the courseware server.
- This message which includes the audio port number 71 for the subject training session, requests the courseware server 18 to issue an identification or PIN 82 for the training session.
- Step 1406 is followed by step 1408 , in which the courseware server 18 either randomly generates or looks up an available PIN 82 from a predefined memory location, and delivers the PIN to the audio server 16 .
- the courseware server 18 also stores the PIN 82 and the audio port number 71 for the training session in a table for later use.
- Step 1408 is followed by step 1410 , in which the audio server 16 employs pre-recorded audio files to play the PIN 82 on the student's telephone extension 40 b along with a recording asking the student to enter the PIN into a predefined edit field within a dialog box displayed on the student's workstation 20 .
- Step 1410 is followed by step 1412 , in which the student enters the PIN 82 into the dialog box along with an “OK” command, which delivers the PIN to the courseware server 18 .
- Step 1412 is followed by step 1414 , in which the courseware server 18 uses the PIN to correlate the network address for the student's workstation 20 with the audio port 71 in the audio server 16 that is connected to the student's telephone extension 40 b. Specifically, the courseware server 16 enters the network address for the student's workstation 20 into the reference table, completing a record for the training session that includes the PIN 82 , the audio server port number 71 for the training session, and the network address for the student's workstation 20 .
- Step 1414 is followed by the “RETURN” step, which returns to step 1318 shown on FIG. 13 .
- FIG. 15 is a logic flow diagram illustrating routine 1318 for running a selected lesson.
- Routine 1318 follows routine 1316 shown on FIG. 13 .
- the local instance of the StarRunner application 54 gets the selected lesson. This lesson was selected by the student from a list obtained by looking up the student's available lessons in the Resource Assignments table 100 . This look up provides the StarRunner application 54 with the resource name for each lesson presented to the student for selection.
- the StarRunner application 54 receives the resource name for the lesson from the student's selection command, and gives the name of the lesson to the Courseware Server 62 , which uses the lesson name to look up the resource path ID for the lesson in the Resources table 94 .
- the Courseware Server 62 uses the resource path ID to look up the path name for the lesson in the Resource Paths table 96 .
- the StarRunner application 54 then appends the lesson name to the lesson path name to obtain the root path for retrieving the selected lesson from memory.
- Step 1502 is followed by step 1504 , in which the StarRunner application 54 gets the first page for the lesson.
- the StarRunner application 54 retrieves the first page in the lesson list to begin the lesson.
- This process is virtually the same as the previously-described process for retrieving the lesson.
- the Courseware Server 62 obtains the resource name for the page from the lesson, and uses the page name to look up the resource path ID for the page in the Resources table 94 .
- the Courseware Server 62 uses the page path ID to look up the path name for the page in the Resource Paths table 96 .
- the Courseware Server 62 then appends the page name to the page path name to obtain the root path for retrieving the page from memory.
- Step 1504 is followed by step 1506 , in which the StarRunner application 54 loads the resources for the current page into a local or cache memory, such as the system RAM.
- This activity sometimes referred to as “caching,” moves the resource data from a slower-retrieval storage location, such as a hard drive or CD ROM, into a faster-retrieval storage location, such as the system RAM. This minimizes any delay that might otherwise occur when the resource data is subsequently to be played or displayed in the course of running the logic.
- the process for retrieving each resource file is virtually the same as the previously-described process for retrieving the lesson and the page.
- the Courseware Server 62 obtains the resource name for the resource from the page, and uses the resource name to look up the resource path ID in the Resources table 94 .
- the Courseware Server 62 uses the resource path ID to look up the resource name in the Resource Paths table 96 .
- the Courseware Server 62 then appends the resource name to the resource path name to obtain the root path for retrieving the resource from memory.
- Step 1506 is followed by step 1508 , in which the StarRunner application 54 implements the script logic for the page.
- This script logic may implement any number of logic paths, some or all of which may each exit the page in a different way.
- there are four script commands for exiting a page “skip to next page,” “skip to previous page,” “skip to page [name], and “quit lesson.” These commands, along with the other global or page-level commands, are included in the task table shown on FIG. 34 .
- the “skip to next page” command instructs the StarRunner application 54 to load and execute the next page in the lesson list of pages.
- the “skip to previous page” command instructs the StarRunner application 54 to load and execute the previous page in the lesson list of pages.
- the “skip to page [name]” command instructs the StarRunner application 54 to load and execute the named page.
- the “quit lesson” command instructs the StarRunner application 54 to end the lesson.
- the list of pages in an associated lesson is not the only logic path through the logic, but instead provides a complete list of all pages that may be called during the lesson.
- Step 1508 is followed by step 1510 , in which the StarRunner application 54 implements a progressive mentoring lesson.
- step 1510 is an optional step, which is included for the purpose of illustrating the run-time methodology of a progressive mentoring lesson.
- the authoring logic for the progressive mentoring lesson was described previously with reference to FIG. 7 , and the run-time logic is described in greater detail with reference to FIG. 16 .
- Routine 1510 is followed by routine 1512 , in which the StarRunner application 54 implements voice-based progression through a lesson. This is also an optional step, which is included for the purpose of illustrating the voice-based progression methodology, which is described in greater detail with reference to FIG. 17 .
- Routine 1512 is followed by step 1514 , in which the StarRunner application 54 determines whether an “exit page” script command has been received.
- an “exit page” command may be a “skip to next page,” “skip to previous page,” “skip to page [name], or “quit lesson” command. If an “exit page” script command has not been received, the “NO” loops back to step 1508 , in which the StarRunner application 54 reads and implements the next script command for the current page. If an “exit page” script command has been received, the “YES” branch is followed to the “CONTINUE” step, which returns the StarRunner application 54 implements the “exit page” command by going to the specified page or quitting the lesson.
- FIG. 16 is a logic flow diagram illustrating routine 1510 for running a progressive mentoring lesson.
- Routine 1510 follows step 1508 shown on FIG. 15 .
- the lesson is divided into a plurality of skill-related task types, such as typing and speaking.
- Each task type is configured to selectively run in a demonstration mode in which user responses are not required to prompts relating to that task type, or in a training mode in which user responses are required to prompts relating to that task type. This allows the user to observe the lesson with all types of tasks in the demonstration mode, and then to practice the lesson with one type of task in the training mode while the other task is in the demonstration mode. Once the student becomes confident at these levels of mentoring, the student can “go solo” with all types of types of tasks operating in the training mode.
- Step 1604 is followed by step 1606 , in which the student elects whether to run the lesson in another mode or scenario. Typically, the student reruns the lesson to practice each skill in the training mode separately.
- the progressive mentoring lesson may include scenarios for practicing each lesson skills independently and in combination with one or more other skills. If the student elects to run the lesson in another mode, the “YES” loops back to step 1602 , in which the StarRunner application 54 runs the selected lesson scenario. If the student does not elect to run the lesson in another mode, the “NO” branch is followed to step 1608 , in which the student may elect to “go solo” with all types of types of tasks operating in the training mode.
- step 1610 the “YES” is followed to step 1610 , in which the user selects the “solo” mode command.
- step 1612 the StarRunner application 54 runs the selected lesson in the “solo” mode.
- the “solo” mode may be scored as a certification test.
- the student's voice and keyboard/mouse activities during the “solo” made may be recorded in a recorded audio file, a review file, and/or a response file for subsequent evaluation.
- Step 1612 is followed by the “RETURN” step, which returns to step 1512 shown on FIG. 15 .
- step 1614 in which the student may elect to end the training session. If the student does not elect to end the training session, the “NO” branch loops back to step 1606 , in which the student may elect to practice the lesson in one of the available training modes. If the student elects to end the training session, the “YES” branch is followed to the “RETURN” step, which returns to step 1512 shown on FIG. 15 . “YES” branch is followed to the “RETURN” step, which returns to step 1512 shown on FIG. 15 .
- FIG. 17 is a logic flow diagram illustrating routine 1512 for implementing voiced-based progression.
- Routine 1512 follows routine 1510 shown on FIG. 15 .
- the audio server 16 may set up the speech detection thresholds prior to starting the training session. This step is optional when certain DIALOGIC cards 32 are use because these cards implement their own silence detection, and provide the audio server 16 with an audio transition signal (i.e., silence to non-silence, or vice versa).
- the speech detection thresholds may be pre-set to heuristically determined standard settings, and the student user may be expected to adjust the microphone gain on the workstation end to obtain the desires system response. Nevertheless, for some applications it may be advantageous to set the speech detection thresholds at the audio server 16 prior to starting the training session.
- Routine 1702 is followed by step 1704 , in which the StarRunner application 54 implements the task scripts defined by the current page.
- step 1704 is followed by step 1706 , in which the StarRunner application 54 complete a task, such as a voice prompt, requiring a verbal or other type of audio student response.
- step 1706 is followed by step 1708 , in which the StarRunner application 54 listens to the student audio, typically over the telephone 40 b or over the student workstation-based microphone.
- step 1708 is followed by step 1710 , in which the StarRunner application 54 detects an audio transition. As noted previously, the StarRunner application 54 may make this transition detection itself, or it may receive an audio transition signal from the DIALOGIC card 32 .
- step 1712 the StarRunner application 54 determines whether the transition is a sound event (i.e., silence to sound transition, rather than a sound to silence transition). if the transition is a not sound event, then it is a silence event (i.e., sound to silence transition), and the “NO” branch is followed to step 1713 , in which the StarRunner application 54 starts the voice management timer.
- This timer is used to time the predetermined period of silence following the student's response required to progress the lesson. This predetermined period of time, which is typically set at two seconds, is referred to as the “silence progression limit.”
- the silence progression limit may be an adjustable parameter that may be changed through a menu setting or other type of configuration parameter.
- step 1714 in which the StarRunner application 54 determines whether the transition is the first sound event received since the voice prompt was communicated on step 1706 . If the transition is the first sound event received since the voice prompt was communicated on step 1706 , the “YES” branch is followed to step 1715 , in which the StarRunner application 54 begins saving the student audio data. If the transition is not the first sound event received since the voice prompt was communicated on step 1706 , the “NO” branch is followed to step 1716 , in which the StarRunner application 54 restarts the voice management timer.
- step 1716 This timer is reset in step 1716 so that any initial noises received from the student, such as throat clearing, initial stammering, or paper rustling will restart the voice management timer.
- routine 1512 loops back to step 1708 , in which the StarRunner application 54 continues to listen to the student audio.
- step 1718 the StarRunner application 54 determines whether the voice management timer has reached the silence progression limit. If the voice management timer has reached the silence progression limit, the “YES” branch is followed to step 1720 , in which the StarRunner application 54 stops saving the student-generated audio data. Step 1720 is followed by step 1722 , in which the StarRunner application 54 implements the next task in the page script. That is, the StarRunner application 54 progresses the lesson in response to detecting a period of silence lasting the silence progression limit following the detection of a sound event.
- Step 1722 is followed by step 1724 , in which the StarRunner application 54 may implement voice recognition analysis and response. That is, the StarRunner application 54 may optionally be configured to recognize and interpret the student's audio response in real time, and select the next task based on this analysis. For example, if the student's response is interpreted to be correct, the StarRunner application 54 may progress the lesson to the next task and increment the lesson score. Alternatively, if the student's response is interpreted to be incorrect, the StarRunner application 54 may respond accordingly, for example by prompting the user to try again, correcting the student and progress the lesson, decreasing the lesson score, or the like. It will be appreciated that a wide variety of lesson logic paths may be programmed into the lesson logic to take advantage of the voice recognition and interpretation capability. Following step 1724 , routine 1512 loops back to step 1704 , in which the StarRunner application 54 implements another task script.
- step 1718 if the voice management timer has not reached the silence progression limit, the “NO” branch loops back to step 1720 , in which the StarRunner application 54 continues to listen to the student audio. In other words, the StarRunner application 54 continues to listen to the student audio until it detects another sound transition in step 1710 , or until it voice management timer reaches the silence progression limit in step 1718 .
- step 1710 if the StarRunner does not detect a sound 25 transition, the “NO” branch loops down to step 1726 , in which the StarRunner application 54 determines whether a timeout threshold has been reached.
- This timeout threshold is used to discontinue the lesson if the student fails to provide an audio response in response to an audio prompt for a predetermined period of time, such as thirty seconds. This prevents the CBT system 10 from filling its memory resources with long periods of recorded silence. If the timeout threshold has not been reached, the “NO” branch loops back to step 1708 , in which the StarRunner application 54 continues to listen to the student audio.
- Step 1726 is followed by the “RETURN” step, in which the CBT system 10 stops recording student audio data, if necessary, and then returns to the “END” step shown on FIG. 15 .
- FIG. 18 is a logic flow diagram illustrating routine 1702 for setting up a speech detection threshold for voiced-based progression.
- FIG. 18 will be described in connection with FIG. 19 , which is a diagram illustrating the speech detection threshold.
- FIG. 19 includes a vertical register 1900 with 256 bins, which represents an 8-bit sound value received from a PC sound card or another audio source. In this illustration, the bit value zero is on the bottom of the register 1900 , and the bit value 265 is on the top. Of course, this register 1900 could include 64,256 bins to represent a 16-bit sound value, or any other number of bins that may be appropriate for a particular sound signal.
- the center 128 bit value 1902 represents the absence of sound, and the register levels above and below this center bit value 1902 represent sound, with the level of the sound increasing as the bit values get further away from the center 128 bit value 1902 .
- Routine 1512 follows routine 1510 shown on FIG. 15 .
- step 1802 in which the audio server 16 prompts the student user for a period of silence. This allows the audio server 16 to measure the background noise received by the microphone or telephone handset or headset at the student's location. This measured background sound level is represented on FIG. 19 as the “measured sound—silence” levels 1904 a - b.
- step 1804 in which the audio server 16 prompts the student to speak at a normal volume. This measured speech sound level is represented on FIG. 19 as the “measured sound-speech” levels 1906 a - b.
- Step 1804 is followed by step 1806 , in which the audio server 16 sets the speech detection threshold levels 1908 a - b based on the measured speech levels.
- the audio server may set the speech detection threshold levels 1908 a - b half way between the “measured sound-silence” levels 1904 a - b and the “measured sound—speech” levels 1906 a - b.
- Step 1806 is followed by the “RETURN” step, which returns to step 1704 shown on FIG. 15 .
- typical speech detection threshold levels 1908 a - b are shown as bit values 144 and 112 , which correspond to 16 bits above an below the center 128-bit level 1902 .
- These speech detection threshold levels 1908 a - b have heuristically been found to produce acceptable results in most instances. Thus, these speech detection threshold levels 1908 a - b are preferred as the standard settings.
- routine 1702 may be altered such that only the background noise levels 1904 a - b are measured.
- the speech detection threshold levels 1908 a - b may be set a predetermined number distance from the background noise levels 1904 a - b, such as twice the background noise levels 1904 a - b or 8 bits away from the background noise levels 1904 a - b.
- FIG. 20 is an illustration of a CBT system user interface for selecting a review file for evaluating a lesson result. This user interface may be used to select a completed lesson to review in step 608 shown on FIG. 6A .
- FIG. 21 is an illustration of a CBT system user interface for creating a new lesson author. This user interface may be used to create an author in step 614 shown on FIG. 6B .
- FIG. 22 is an illustration of a CBT system user interface for creating a new lesson. This user interface may be used to create a new lesson to review in step 618 shown on FIG. 6B .
- FIG. 23 is an illustration of a CBT system user interface for setting lesson properties. This user interface may be used to establish lesson properties in step 802 shown on FIG. 8 .
- FIG. 24 is an illustration of a CBT system user interface for creating a task list for a control. This user interface may be used to create a task list for a control in step 812 shown on FIG. 8 .
- FIG. 25 is an illustration of a CBT system user interface for inserting audio files into a lesson. This user interface may be used to link a page to an audio file in step 908 shown on FIG. 9 .
- FIG. 26 is an illustration of a CBT system user interface for selecting an application screen to capture into a lesson. This user interface may be used to select an application screen to capture in step 1008 shown on FIG. 10 .
- FIG. 27 is an illustration of a CBT system user interface including an application screen captured into a lesson. This user interface illustrates an imported application screen in step 1016 shown on FIG. 10 .
- FIG. 28 is an illustration of a CBT system user interface for creating a new student. This user interface may be used to add a new student in step 1206 shown on FIG. 12 .
- FIG. 29 is an illustration of a CBT system user interface for assigning a lesson to a student. This user interface may be used to assign lessons to students in step 1210 shown on FIG. 10 .
- FIG. 30 is an illustration of a CBT system user interface for student login. This user interface may be used to log into the CBT system in step 1306 shown on FIG. 13 .
- FIG. 31 is an illustration of a CBT system user interface for viewing lessons assigned to a student. This user interface may be used by a student to select a lesson to take in step 1312 shown on FIG. 13 .
- FIG. 32 is an illustration of a CBT system user interface running a lesson. This user interface may be used in step 1318 shown on FIG. 13 .
- FIG. 33 is an illustration of a CBT system user interface for logging onto the audio server in step 1402 shown on FIG. 14 .
- FIGS. 34-38 include tables illustrating controls, tasks, and task events that may be used to author lessons. These tables list and describe the authoring tools described with reference to FIGS. 8, 9 and 10 .
- the versatile resources of the present invention reduce the memory storage requirements for a CBT system capable of supporting multiple training scenarios in a multi-user network environment.
- This CBT system realistically simulates multi-mode communication systems, implements progressive mentoring and voice-based progression methodologies, and achieves other advancements and improvements in the art of computer-based training. It should be understood that the foregoing relates only to the exemplary embodiments of the present invention, and that numerous changes may be made therein without departing from the spirit and scope of the invention as defined by the following claims.
Abstract
A computer-based training (CBT) system using versatile resources to support multiple training scenarios in a multi-user environment. The CBT system includes an authoring program module accessible by a lesson designer to create a number of lessons. The CBT system includes one or more runner program modules accessible by lesson takers for running the lessons created with the authoring program module. The CBT system also includes a relational database accessible by the runner program modules and comprises administrative information and information for retrieving desired resources. The versatile resources reduce the memory storage requirements for a CBT system capable of supporting multiple training scenarios in a multi-user network environment. The CBT system realistically simulates multi-mode communication systems and implements progressive mentoring and voice-based progression methodologies.
Description
- The present application is a divisional of U.S. Non-Provisional patent application Ser. No. 09/638,771, filed Aug. 15, 2000, which claims priority to commonly-owned U.S. Provisional Patent Application Ser. Nos. 60/202,792, 60/202,613, and 60/202,789, each filed on May 9, 2000.
- This invention relates generally to the field of computer-based training systems and, more particularly, to a computer-based training system in which a single stored copy of a versatile resource, such as a display page, bit map, audio file, or video file may be used to create instances of the resource “on the fly” for use in connection with multiple training lessons.
- Computer-based training (CBT) is an important aspect of employee and student training and evaluation for many types of applications. For example, CBT system is known to be a particularly effective method for training call center operators. Many other tasks can similarly benefit from CBT system, such as from foreign language training, flight simulation, computer diagnostics, medical procedures, parcel handling, automotive repair, and many others. For all of these applications, the aim of the CBT system is to simulate the task environment using the computer, and in some cases other types of equipment, to play or display a training session to a student user. This allows the student user to experience the task environment in a training mode before actual exposure to the task. Generally, more realistic CBT system simulations are more effective training devices.
- Although many types of CBT systems have been developed, these conventional CBT systems typically suffer from a number of drawbacks. For example, complicated tasks such as call center operations or flight simulation involve an extremely large number of simultaneous actions and task scenarios that could occur in actual operations. Creating a separate training scenario for each and every actual scenario that might occur might be prohibitively expensive in terms of programming time, computer memory, or other scarce resources. Moreover, configuring the CBT system to jump from one stored scenario to another in responses to decisions or choices that occur during the course of a simulation greatly increases the complexity of the system. As a result, only the most expensive CBT system applications, such as flight simulation, justify the cost required to implement a significant number of alternative scenario paths.
- In addition, conventional CBT systems typically rely on recorded video displays to simulate a task environment. In this type of CBT system, a different video recording may be required for each stored scenario. For a simulation system of even moderate complexity, this requires a very large amount of computer-readable storage to house the various scenarios. Because the task environment is basically the same but only differing in details or settings for different scenarios, much of the stored video turns out to be largely duplicative. This data storage problem inherently multiplies itself in a multi-simulation setting in which multiple training workstations may each require separate continuous video service. A similar multiplication of data storage requirements occurs when student training sessions are saved for subsequent play back and evaluation.
- Many conventional CBT systems also lack the ability to realistically simulate multi-mode simulations in which multiple modes of communication are simultaneously used in the task. For example, telephone call center operations typically require use of an audio mode of communication via a telephone simultaneously with use of a graphical display mode of communication via a computer system. There is no functionality present in most conventional CBT systems to realistically simulate the simultaneous use of both modes of communication in a training environment.
- Thus, there is a need in the art for a method and system for improved CBT systems. In particular, there is a need for reducing the memory storage requirements for a CBT system capable of supporting multiple training scenarios in a multi-user network environment. There is a further need for a CBT system that realistically simulates multi-mode communication systems. Additional improvements in CBT system technology are also needed.
- The present invention meets the needs described above in a computer-based training (CBT) system using versatile resources to support multiple training scenarios in a multi-user network environment. The resources are referred to as “versatile” because they are separately stored in memory and independently retrievable for display or play in association with multiple lessons. For example, versatile resources typically include lesson pages and separately stored data files that can be displayed or played in association with lessons or lesson pages, such as sound files, video files, and bit maps.
- Generally described, the invention is a computer-based training (CBT) system including an authoring program module that is accessible by a lesson designer to create a number of lessons. Each lesson includes one or more links to versatile resources for display or play in association with the lesson. The CBT system also includes one or more runner program modules that are accessible by lesson takers for running the lessons created with the authoring program module. The CBT system also includes a relational database that is accessible by the runner program modules. The relational database contains administrative information along with information for retrieving desired resources for display or play in association with the lessons. That is, as a runner program module runs a lesson, it accesses that relational database “on the fly” to determine information that allows the runner program module to retrieve the resources to be played or displayed as part of the lesson.
- Each lesson typically includes a plurality pages, and each page typically includes one or more controls defining visual and functional aspects of the page, links to resources, and script instructions defining lesson logic for implementing the page. To create lessons, the authoring program module includes a predefined set of menu-driven commands that the lesson designer selectively activates to create the pages, add the controls to the pages, link the pages to the resources, and create the script instructions for rendering pages and implementing lesson logic. For example, the menu-driven commands may allow a lesson designer to add standard Windows-supported controls to a lesson page, such as radio buttons, check boxes, combo boxes, and so forth. The resources that may be linked to a lesson page typically include bit maps, video files, and audio files.
- As noted above, the resources are separately stored in memory so that they may be independently retrieved for display or play in association with multiple lessons. In a similar manner, the lessons and pages are also separately stored in memory so that they may be independently retrieved for display or play in association with multiple lessons. In other words, each lesson and each page is stored as a separate resource, which allows the lessons and pages themselves to be independently retrieved for display or play in association with multiple lessons.
- In addition, student responses to a lesson may be recorded and stored as resource so that the lesson, along with the student's responses, can be subsequently played back for evaluation.
- To facilitate the retrieval of resources from memory “on the fly,” the resources are subdivided into a plurality of resource types, with each resource type including one or more similar resources. For example, audio files may be a first resource type, video files may be a second resource type, bit maps may be a third resource type, pages may be a fourth resource type, and so forth. Each resource is assigned a resource name, and each resource type is assigned a resource type name. The resource name and resource type name assigned to a particular resource defines a root path for retrieving that resource from memory. Thus, the resource name and resource type name for each resource may be retrieved from the relational database and appended together to create the root path for retrieving that resource from memory.
- The authoring program module also includes a capture feature for importing screen objects from foreign program modules into a lesson. The capture feature interrogates a target screen object to identify screen object controls that are supported by the authoring program module. The capture feature then renders each screen object control within a lesson page to recreate the functional and visual aspects of the screen object control. The capture feature also extracts one or more screen object bit maps from the screen object corresponding to visual aspects of the screen object that do not correspond to screen object controls that are supported by the authoring program module. The capture feature then stores the extracted bit maps as resources indexed by the relational database, and creates script instructions within the page for combining the screen object controls with the screen object bit maps to recreate the functional and visual aspects of the screen object when running the lesson.
- The invention may also be used to implement multi-mode training session, such as those utilizing a computer as a first communication mode and a telephone as a second communication mode. In this case, the resources include first and second resource types for play or display in association with the first and second communication modes, respectively. In addition, the implementation of the lesson logic by the runner program module synchronizes the play or display of the first and second resource types to create an integrated multi-mode lesson. For example, a graphical display on a computer may be synchronized with audio played over a telephone to simulate a work environment of a call center.
- To facilitate network-based operation of the CBT system, the runner program module resides in a shared folder maintained on a network server. This allows multiple instances of the runner program module to be downloaded from the network server to the student workstations upon command. Each downloaded instance of the runner program module then runs within a memory space maintained on the student workstation, and deletes from the student workstation memory space upon completion of the session. Advantageously, this shared folder functionality is a generally available operating system feature that allows each student workstation to download its associated instance of the runner program module without having software specific to the runner program module previously installed on the runner workstation. This allows new student workstations to be added to the CDT system network without having to pre-install any CBT system software modules on the student workstations.
- It will also be appreciated that the configuration descried above allows the session running on each student workstation to operate independently of the other sessions running on the other student workstation. Thus, each student workstation may run the same or different lessons, and each user lesson may proceed at a different rate and take a different path through the lesson logic. In addition, multiple instances of any given lesson may be simultaneously deployed on multiple student workstations as desired, but only a single copy of the lesson remains permanently stored on the lesson server.
- To allow the CBT system to function as a testing and evaluation platform, an evaluation score may be computed based on the user's response to prompts played or displayed as part of a lesson. In addition, the lesson and the associated user responses may be stored for subsequent playback and evaluation. This type of evaluation, which shows the student user's keystrokes and other responses to specific commands in real time, can be a more effective evaluation mechanism than other evaluation techniques typically used in CBT systems, such as knowledge-based testing techniques.
- The CBT system is also equipped to implement realistic multi-modal training lessons, such as training lessons designed for call center operators who use computer-based utilities to response to customer transactions received over the telephone. For this type of training lesson, a student user typically provides audible responses to prompts played or displayed as part of a lesson. To implement the lesson in a realistic manner, the CBT system is configured to progress the lesson logic in response to detection of an audible response and a predetermined period of silence following the audible response. That is, once the CBT system prompts the user for an audible response, it waits to detect an audible response followed by a predetermined period of silence before progressing the lesson to the next task.
- The CBT system is also equipped to implement training through a technique known as “progressive mentoring.” For this training method, a lesson is divided into a plurality of skill-related task types, such as typing and speaking. Each task type is configured to selectively run in a demonstration mode in which user responses are not required to prompts relating to that task type, or in a training mode in which user responses are required to prompts relating to that task type. This allows the user to observe the lesson with all types of tasks in the demonstration mode, and then to practice the lesson with one type of task in the training mode while the other task is in the demonstration mode. Once the student becomes confident at these levels of mentoring, the student can “go solo” with all types of types of tasks operating in the training mode
- In a specific embodiment, the CBT system includes a computer network defining a number of network ports for connecting servers and workstations to the network. A lesson server functionally connected to a network port stores a group of lessons that each include a synchronized set of audio and interactive graphical display resources. The CBT system also includes a number of student workstations that are each connected to a network port and configured to display the graphical display resources of a selected lesson and to receive interactive student responses to these resources. The CBT system also includes an audio server that is connected to a network port and includes a number of audio ports for connecting the audio server to an equal number of telephone lines. The audio server is configured to play the audio resources of the selected lesson in synchronism with the display of the associated graphical display resources. The CBT system also includes a group of telephone extensions. Each telephone extension is typically associated with and located near a student workstation to allow the student workstation and the associated telephone extension to be accessed simultaneously by a student user.
- The CBT system also includes a private branch exchange (PBX) that is functionally connected to the audio server by way of a trunk of telephone lines, with each line of the trunk connected to an associated audio port on the audio server. The PBX is configured to selectively assign available lines of the trunk to the telephone extensions to connect the telephone extensions to the audio server. That is, upon receipt of a telephone call the PBX connects an available trunk line to the incoming telephone extension line, which connects a particular audio port of the audio server to the telephone extension. After obtaining a unique identification number from the lesson server, the audio server then delivers that audible identification number to the student user on the telephone extension. Upon entry of the identification into the student workstation, the CBT extension. This correlates the student's workstation with the student's telephone extension to synchronize these two communication modes during the ensuing training session.
- That the invention improves over the drawbacks of prior CBT systems and s accomplishes the advantages described above will become apparent from the following detailed description of the embodiments of the invention and the appended drawings and claims.
-
FIG. 1 is a functional block diagram of a network-based computer-based training (CBT) system using versatile resources. -
FIG. 2 is a functional block diagram illustrating the authoring and running modes in a CBT system. -
FIG. 3 is a diagram illustrating a root path system for storing versatile resources in a CBT system. -
FIG. 4A is a diagram illustrating tables of a relational database employed in a CBT system. -
FIG. 4B is a diagram illustrating additional tables of the relational database ofFIG. 4A . -
FIG. 5 is a logic flow diagram illustrating a set-up routine for a CBT system. -
FIG. 6A is a logic flow diagram illustrating a system utilization routine for a CBT system. -
FIG. 6B is a logic flow diagram illustrating a routine for authoring lessons in a CBT system. -
FIG. 7 is a logic flow diagram illustrating a routine for authoring lessons involving progressive mentoring in a CBT system using versatile resources. -
FIG. 8 is a logic flow diagram illustrating a routine for creating lessons in a CBT system. -
FIG. 9 is a logic flow diagram illustrating a routine for defining an event in a CBT system. -
FIG. 10 is a logic flow diagram illustrating a routine for adding controls or capturing application screens in a CBT system. -
FIG. 11 is a logic flow diagram illustrating a routine for interrogating screen objects in a CBT system. -
FIG. 12 is a logic flow diagram illustrating a routine for assigning lessons in a CBT system. -
FIG. 13 is a logic flow diagram illustrating a routine for running lessons in a CBT system. -
FIG. 14 is a logic flow diagram illustrating a routine for synchronizing servers in a CBT system. -
FIG. 15 is a logic flow diagram illustrating a routine for running a selected lesson in a CBT system. -
FIG. 16 is a logic flow diagram illustrating a routine for running a progressive mentoring lesson in a CBT system. -
FIG. 17 is a logic flow diagram illustrating a routine for implementing voiced-based progression in a CBT system. -
FIG. 18 is a logic flow diagram illustrating a routine for setting up a speech detection threshold for voiced-based progression in a CBT system. -
FIG. 19 is a diagram illustrating a speech detection threshold for voiced-based progression in a CBT system. -
FIG. 20 is an illustration of a CBT system user interface for reviewing a lesson result. -
FIG. 21 is an illustration of a CBT system user interface for creating a new lesson author. -
FIG. 22 is an illustration of a CBT system user interface for creating a new lesson. -
FIG. 23 is an illustration of a CBT system user interface for setting lesson properties. -
FIG. 24 is an illustration of a CBT system user interface for creating a task list for a control. -
FIG. 25 is an illustration of a CBT system user interface for inserting audio files into a lesson. -
FIG. 26 is an illustration of a CBT system user interface for selecting an application screen to capture into a lesson. -
FIG. 27 is an illustration of a CBT system user interface including an application screen captured into a lesson. -
FIG. 28 is an illustration of a CBT system user interface for creating a new student. -
FIG. 29 is an illustration of a CBT system user interface for assigning a lesson to a student. -
FIG. 30 is an illustration of a CBT system user interface for student login. -
FIG. 31 is an illustration of a CBT system user interface for viewing lessons assigned to a student. -
FIG. 32 is an illustration of a CBT system user interface running a lesson. -
FIG. 33 is an illustration of a CBT system user interface for logging onto an audio server. -
FIG. 34 is a table describing global tasks for creating lesson logic in CBT system. -
FIG. 35 is a table describing response tasks for creating lesson logic in a CBT system. -
FIG. 36 is a table describing properties available for specific controls in a CBT system. -
FIG. 37 is a continuation of the table ofFIG. 36 . -
FIG. 38 is a continuation of the table ofFIGS. 36-37 . - The present invention may be embodied in a network-based computer-based training (CBT) system configured to perform training simulations using versatile resources. For example, the CBT system presently sold under the name “StarTrainer” embodies many aspects of the invention as described in this specification. The resources used by StarTrainer are referred to as “versatile” resources because they are separately stored in memory and independently retrievable for display or play in association with multiple lessons. These versatile resources typically include lesson pages and separately stored data files that can be displayed or played in association with lessons or lesson pages, such as sound files, video files, and bit maps.
- There are three main components of the StarTrainer CBT system: an audio server, which manages the voice portion of simulation; a courseware server, which manages the application portion of simulation; and authoring tools, which allow the creation of training courses that synchronize voice and data according to specific training objectives. The courseware server includes an application program known as “StarRunner” for running previously-authored simulations; an administration utility for creating authors, creating students, assigning lessons to students, and so forth; a relational database for storing administrative and operational information including resource names and paths for retrieving versatile resources from memory; and a stored set of versatile resources. The authoring tools include an application program known as “StarDesigner” for creating lessons, a “StarCapture” utility for importing screen displays from other application programs into lessons, and other application program called “AudioLab” for creating sound recordings.
- The audio server is typically deployed within a standard personal computer (PC) with specialized telephony cards that connect it to a private branch exchange (PBX) system. All that's required of the PBX is a “hunt group” appropriate for the number of simultaneous calls that the client would like StarTrainer to support, which can typically be up to 24 lines for each telephony card installed in the audio server. The PBX connects a telephone call to an available line selected from the hunt group when the PBX receives a telephone call directed to a “pilot number” assigned to the hunt group. That is, the PBX “hunts” through the group of lines assigned to the hunt group for an available line whenever it receives a telephone call to the pilot number for the hunt group. The audio server's functions include recording speech for course content, receiving calls for inbound and outbound simulation, delivering speech throughout the simulation, and recording agent responses for later review. Of course, telephones operate both in wired networks and in wireless networks.
- For convenience, the CBT system is described in this specification in the context of a wired telephone network. Nevertheless, the term “line” in the telephone context should be interpreted broadly to include a “virtual line,” such as a wireless communication channel, as well as a wired telephone connection. The selection of a wired or wireless telephone network is a design choice familiar to those skilled in the telephone art, who will understand how to deploy the present invention in a wireless telephone environment without undue experimentation.
- The courseware server, which delivers the visual portion of each simulation, also typically runs on a standard PC. The courseware server is configured to interconnect with other computers on the network, typically a LAN, where the courseware server appears as an IP address. The network allows the courseware server to communicate with the audio server to synchronize data provided by the courseware server via a student workstation on the network with voice data provided by the audio server via a telephone extension connected through the PBX. During each training session, the courseware server delivers screens that simulate the actual work environment, including host applications and scripts, and records trainee responses for playback.
- Virtually all of the current CBT system technologies available today employ PC sound card and speaker to play sound files, and in some rare cases to record sound files. Unlike these conventional training methodologies, the StarTrainer CBT system simulates the genuine multi-mode experience of using a PC application and talking to a customer over the telephone at the same time. What the student sees and hears is, for all practical purposes, no different from a real call, including the instruments used to communicate.
- To use the StarTrainer CBT system, training sessions may be activated by individual students on demand from any PC workstation on the network. There is no requirement to install or register software on the workstation, nor is a sound card or CD ROM drive necessary. After the student launches the server-based StarRunner application from a workstation on the network, the system instructs the student to dial an extension number using any telephone connected to the user's PBX. As the student conducts training sessions using lessons stored on the courseware server, the system synchronizes simulated transactional data presented on the PC workstation with simulated voice conversation played over the telephone connection. This allows students to experience voice interactive training without installing a sound card or speakers on their systems. That is, in lieu of speakers, existing telephone and PBX is used to deliver voice files to the student, and to record student responses.
- A typical process for synchronizing the audio server with the courseware server typically proceeds as follows. First, a student user launches the StarRunner server-based application from a student workstation by double-clicking on an icon in a shared network folder. This shared-folder icon corresponds to the copy of the StarRunner application residing in the courseware server. The launch command causes an instance of the StarRunner application to be downloaded to the student workstation, where it loads into the system memory and becomes active. A screen display then asks the student to dial a pre-defined number on a nearby telephone extension; namely, the pilot number for the hunt group in the PBX assigned to the audio server. The screen display may give this number to the student, or the student may be expected to know this number from a previous orientation session. In either case, the student then dials the pilot number on the telephone extension.
- Upon receiving the telephone call, the PBX connects the student's telephone extension with the audio server by finding an available line within the hunt group and connecting that line with the incoming telephone line from the student's telephone extension. The audio server then receives the telephone call on a particular audio port having an assigned port number; namely, the port connected to the telephone line selected by the PBX to connect the audio server with the student's telephone extension.
- Upon receiving the telephone call, the audio server contacts courseware server and delivers a message to the courseware server. This message, which includes the audio port number for the subject training session, requests the courseware server to issue an identification or PIN for the training session. The courseware server either randomly generates or looks up an available PIN from a predefined memory location, and delivers the PIN to the audio server. The courseware server also stores the PIN and the audio port number for the training session in a table for later use. The audio server then employs pre-recorded audio files to play the PIN on the student's telephone extension along with a recording asking the student to enter the PIN into a predefined edit field within a dialog box displayed on the student's workstation.
- The student then enters the PIN in the dialog box along with an “OK” command, which delivers the PIN to the courseware server. The courseware server then uses the PIN to correlate the network address for the student's workstation with the audio port in the audio server that is connected to the student's telephone extension. Specifically, the courseware server enters the network address for the student's workstation into the reference table, completing a record for the training session that includes the PIN, the audio server port number for the training session, and the network address for the student's workstation. During the course of the training session, the courseware server references this record to route audio files for the training session to the correct audio server port, which causes the audio server to play these audio files on student's telephone extension phone. The StarRunner application software then presents the student with a list of available lessons, and the training session begins. To conclude the training session, the student simply hangs up the telephone extension, or closed the StarRunner application.
- The StarTrainer system also employs voice interactivity, which is also referred to as voice-based progression, in training sessions. Conventional CDT system usually require the user to perform some sort of kinetic action to progress in the lesson, such as pressing a key of the keyboard or mouse-clicking on a button on the screen. The StarTrainer CDT system, on the other hand, employs silence detection to detect when a student has started speaking and when the student has stopped speaking. This voice management technology may be use when a student uses a separate telephone connected to the CBT network through a PBX, and when a student uses a standard sound card and speakers/microphone connected to the student's workstation. In either case, voice-based progression provides a more realistic training experience.
- In addition, many business processes involve an individual performing multiple tasks at the same time to accomplish a particular goal. For example, a technical support person on the phone typically has to carry on a telephone conversation, look up data on a computer workstation, and enter some new data into the workstation more or less simultaneously. It can be difficult and time consuming to train an employee to use all of these skills simultaneously with traditional linear training methods.
- Progressive mentoring is a methodology implemented by the StarTrainer CBT system that exposes the student to the skills of the business process one skill at a time to build the knowledge and skills incrementally. The goal of progressive mentoring is to quickly teach the student to listen, think, talk and type all at the same time without overwhelming the student's sensory system all at once. In the first training mode, the student typically observes the system plays the role of the expert mentor. In this mode, the student watches keyboard and mouse activity taking place on the PC and listens to the conversation between the expert and the customer. In the second training mode, the student talks with the customer while the system continues to handle the keyboard and mouse activity. Then, in the third training mode, the responsibilities swap and the student works the keyboard and mouse to interact with the application program, while the system does the speaking. Finally, the student goes “solo” for the full experience of handling both the voice communication and the computer interaction at the same time. Of course the student has the opportunity to repeat any mode of simulation in the lesson to hone specific skills. Various levels of help are also available to the student if they get stuck or have questions regarding the best way to proceed in a particular circumstance. The degree of help can be controlled from within the lesson script. Although progressive mentoring is described above in the context of a call center training system, it could be employed in virtually any type of multi-modal communication system.
- Generally defined, progressive mentoring breaks a multi-modal task into “n” steps. The system then allows the student to monitor all “n” steps being performed by the system as a tutorial, with the ability to stop, start and replay the lesson as often as they wish. The student can then start performing the tasks for any one or any combination of the “n” tasks, while the system performs the remainder. As before, the student can stop, start and replay any combination of tasks as often as they wish. By the end of the session, the student is performing all “n” tasks and the system records all of the student input for later playback and review. Additionally, the system scores the student based upon a comparative of best practices setup by the lesson designer. The student's input as well as scores can used for self-evaluation as well as stored for later comparatives.
- To create a progressive mentoring lesson, the lesson designer breaks a defined task into its distinct parts. In most cases in which this system is used, it will consist of a minimum of two separate communication modes, such as talking on the telephone with another individual, and typing or mouse commands to interact with a computer program. While more esoteric functions such as listening and thinking are by necessity required, they are normally not broken into separate distinct functions.
- The authoring process typically proceeds as follows. First, the lesson designer authors a “best practices” scenario to simulate proper performance of the task. For example, a call from a customer that covers one of the most frequently asked questions. The lesson designer then creates create the customer dialog to simulate the selected scenario. Next, the lesson designer creates the student dialog exhibiting corporate best practices. Typically, separate individuals record the dialog for each of the roles in the selected scenario. The designer then captures screens from the software the student would utilize when performing these tasks. Using StarDesigner, the lesson designer creates the “n” steps outlined above, first creating the entire scenario with both sides of the dialog as well as all computer interaction. The designer then repeats the process for each training mode.
- Turning now to the figures, in which like numerals refer to like elements throughout the several figures,
FIG. 1 is a functional block diagram of an illustrated embodiment of the invention, a network-basedCBT system 10 using versatile resources. TheCBT system 10 may be installed on any type of computer network, such as a LAN, WAN, Ethernet, the Internet, and so forth. In the illustrated embodiment, which is intended for telephone call center simulations, theCBT system 10 operates on a typical office-environment TCP-IP LAN 12 that works in connection with the office'stelephone PBX 14. TheLAN 12 includes a number of network ports that are used to interconnect aaudio server workstation 16, acourseware server workstation 18, one ormore student workstations 20, and one ormore designer workstations 22. Of course, one or more of theaudio server workstation 16, thecourseware server workstation 18, thestudent workstation 20 and/or thedesigner workstation 22 could be combined into one workstation. Each workstation typically runs a common operating system, such as WINDOWS NT, as represented by theoperating systems 26 a-d. - In the illustrated embodiment, the
audio server workstation 16 and thecourseware server workstation 18 may be PC workstations running at least Pentium 300 MHz processors with 128 MB RAM, 8 GB hard drive, and CD ROM drive running WINDOWS NT Server 4.0 or higher operating system software with at leastService Pack 5. Thestudent workstations 20 and thedesigner workstations 22 may be PC workstations running at least Pentium 133 MHz processors with 32 MB RAM and a 800×600 video display running WINDOWS 95 OSR2,WINDOWS 98, or WINDOWS NT Workstation 4.0 or higher operating system software withService Pack 5. Thenetwork 12 should provide 10 Mbps or faster Ethernet links and TCP/IP protocol allowing both static and dynamic network addressing. Although theCBT system 10 is described in the contest of the WINDOWS operating system environment, those skilled in the art will appreciate that the subject invention could alternatively be embodied in computer systems utilizing other types of operating systems. - The
audio server workstation 16 preferably includesaudio server software 28, aDIALOGIC card driver 30, and one or moreDIALOGIC telephone card 32. Of course, other types of telephone cards and drivers may be used. Thetelephone card 32 includes a number of audio ports for connection to telephone lines. For example, a U.S. standard card typically includes 24 audio ports for connection to a standard 24-line T1 telephone trunk. Alternatively, a European standard card typically includes 30 audio ports for connection to a standard 30-line E1 telephone trunk.Multiple telephone cards 32 may be used to increase the number of simultaneous users supported by theCBT system 10. The audio ports of eachtelephone card 32 are connected to thePBX 14 by way of atelephone trunk 34, such as a T1 or E1 telephone trunk. Alternatively, theCBT system 10 may use one or more DIALOGIC analog cards and analog trunk lines. ThePBX 14 is configured with ahunt group 36 that corresponds to the lines of thetelephone trunk 34. ThePBX 14 connects an incoming telephone call to an available line within thetrunk 34 selected from thehunt group 36 whenever thePBX 14 receives a telephone call directed to a “pilot number” assigned to thehunt group 36. That is, thePDX 14 “hunts” through the lines of thetrunk 34 for an available line within the whenever it receives a telephone call to the pilot number for thehunt group 36. - The
designer workstation 22 includes authoring tool that a lesson designer uses to create lessons. These authoring tools include anapplication program 42 known as “StarDesigner” for creating lessons, a “StarCapture”utility 44 for importing screen displays fromother application programs 48 into lessons, and theAudioLab application program 46 for creating sound recordings. Thedesigner workstation 22 also includes a monitor 50 a and a keyboard/mouse input device 52 a. The StarDesigner, StarCapture, andAudioLab modules - The
student workstation 20 includes a monitor 50 b and a keyboard/mouse input device 52 b and sufficient internal memory to allow an instantiation of theStarRunner application 54 to be loaded into and run on thestudent workstation 20. No specialized software or hardware needs to be installed on thestudent workstation 20. Instead, a permanent copy of theStarRunner application 64 resides in a shared folder maintained on thecourseware server workstation 18. This allows multiple instances of theStarRunner application 64 to be downloaded from thecourseware server workstation 18 to thestudent workstations 20 upon command. Each downloadedinstance 54 of the StarRunner application then runs within a memory space maintained on thestudent workstation 20, and deletes from the student workstation memory space upon completion of the session. This shared folder functionality is a generally available feature of theWINDOWS operating system 26, which allows each student workstation to download its associated instance of the StarRunner application without having software specific to the StarRunner application previously installed on thestudent workstation 20. This allows new student workstations to be added to thenetwork 12 without having to pre-install any CBT system software modules on the workstations. - The
courseware server workstation 18 includes a database engine 60, such as SYBASE SQL ANYWHERE database engine. Of course, another type of database engine could be used. Thecourseware server software 62 is then installed on the database engine 60. Thecourseware server software 62 includes theStarRunner application 64 for running previously-authored simulations, anadministration utility 66 for creating authors, creating students, assigning lessons to students, and so forth; arelational database 68 for storing administrative and operational information including resource names and paths for retrieving versatile resources from memory; and a stored set ofversatile resources 70. -
FIG. 2 is a functional block diagram illustrating the authoring and running modes of theCBT system 10. First, during an authoring phase, a lesson designer uses theStarDesigner application 42 to create one or more lessons. During this process, theStarCapture application 44 may be used to import screen objects into the lesson fromother applications 48. In addition, theAudioLab application program 46 is used to create and store sound files, and theadministration utility 66 is used to perform administrative functions, such as assigning particular lessons to particular students. In general, acourse 200 may include multiple lessons represented by the lessons 202 a-c. Each lesson includes a list of pages represented by the pages 204 a-c. That is, a lesson points to a list of pages but does not physically include the pages themselves. Each page, in turn, includes a list of resources 206 referenced by that page and run script 208 for implementing the lesson logic for the page. Again, each page points to a list of resources but does not physically include the resources themselves. This allows each page and each resource to be configured as a stand-alone unit that may be independently stored and retrieved from memory for use in multiple lessons. - The
relational database 68 contains administrative information along with information for retrieving desired resources for display or play in association the lessons. That is, as aStarRunner application 54 runs a lesson, it accesses thatrelational database 68 “on the fly” to determine information that allows the StarRunner application to retrieve the pages andresources 70 to be played or displayed as part of the lesson. Generally, theresources 70 include three categories of resources, all of which are independently stored and retrieved from memory. The first category includes script resources that include lesson logic. This category includes courses (lists of lessons), lessons (lists of pages), and pages (lists of resources with associated run script). The second category includes data resources that can be played or displayed during a simulation. These resources include audio files, video files, and bit maps. The third category includes evaluation resources that are recorded while a student takes a lesson. These resources include recorded audio files, response files, and review files. - A recorded audio file typically includes the student's voice as recorded during a lesson. A response file typically includes a student's inputs entered into the student's workstation in response to tasks that the student is asked to perform during a lesson. And a review file typically includes a vector file documenting mouse and keyboard actions during a lesson. For evaluation purposes, a recorded audio file and a review file can be played in association with the corresponding lesson to playback the result of a student's actual verbal and physical mouse and keyboard movements during a previously taken lesson. This type of review file, in which the student's actual movements and utterances can be reviewed, is superior to the knowledge-based testing approach for many applications. Importantly, the vector file requires a small fraction of the memory storage that would be required to store a video file documenting the training session.
-
FIG. 3 is a diagram illustrating a root path system for storingversatile resources 70 in theCBT system 10. To facilitate the retrieval of resources from memory “on the fly,” theresources 70 are subdivided into a plurality of resource types, with each resource type including one or more similar resources. Specifically, courses are assigned to afirst resource type 72, lessons are assigned to a anotherresource type 74, pages are assigned to a anotherresource type 76, audio files are assigned to a anotherresource type 78, video files are assigned to a anotherresource type 80, bit maps are assigned to a anotherresource type 82, recorded audio files are assigned to a anotherresource type 84, response files are assigned to a anotherresource type 86, and review files lessons are assigned to a anotherresource type 88. Each resource is assigned a resource name, and each resource type is assigned a resource type name. The resource name and resource type name assigned to a particular resource defines a root path for retrieving that resource from memory. Thus, the resource name and resource type name for each resource may be retrieved from therelational database 68 and appended together to create the root path for retrieving that resource from memory. -
FIG. 4A is a diagram illustrating tables of arelational database 68 employed in theCBT system 10. A Star Users table 90 includes a record for each authorized user of theCBT system 10. Each record of the Star Users table 90 includes a user identification number, user information, and a designation of user rights. The hierarchy of user rights typically include super administrators, administrators, lesson designers, and students. That is, a higher level in the hierarchy typically enjoys all the rights of the lower levels plus additional rights. Super administrators can add and delete administrators and access program code. Administrators can add and delete students and authors, and can also access response, review, and recorded audio files for student evaluation. Lesson designers can add and delete lessons and assign to students or remove lesson assignments. Students are only authorized to take lessons. The user information typically includes items such as address, telephone number, e-mail address, job title, department number, employee number, login password, and so forth. The Star Users table 90 is a dynamic table that changes whenever a user record is added, deleted or changed. - A Resource Type table 92 includes a record for each type of resource of the
CBT system 10. In the illustrated embodiment, the resource types include courses, lessons, pages, audio files, video files, bit maps, recorded audio files, response files, and review files. Each record of the Resource Type table 92 includes a resource type identification number, a resource type name, and a resource path identification number. The Resource Type table 92 is a static table that would change only if a new resource type was added to theCBT system 10. - A Resources table 94 includes a record for each resource of the
CBT system 10. Each record of the Resources table 94 includes a resource identification number, the resource type name, the resource path identification number, a resource name, the name of the author of the resource, a description of the resource, a miscellaneous field, and a miscellaneous text field. The resource name is used as part of the root path for retrieving resources of that particular type from storage. The Resources table 94 is a dynamic table that changes whenever a resource is added, deleted or changed. The miscellaneous field typically includes a “locked flag” that indicates whether the resource is locked. The miscellaneous text field is presently reserved for future use. - A Resources Paths table 96 includes a record for each type of resource of the
CBT system 10. Each record of the Resources table 94 includes the resource path identification number, and the resource path name, which is used as part of the root path for retrieving resources of that particular type from storage. That is, the resource path name from the Resources Paths table 96 may be appended to the resource name from the resource name from the Resources table 94 to obtain the root path for retrieving a particular resources from storage. The Resources Paths table 96 is a static table that would change only if a new resource type was added to theCBT system 10. - A Resources Locks table 98 includes a record for each resource that is open in the
StarDesigner application 42. This table allows theCBT system 10 to lock lesson designers out of a particular resource while another lesson designer is working on that same resource. This prevents multiple lesson designers from making inconsistent changes to the same resource at the same time. Each record of the Resources Locks table 98 includes a resource identification number for the open resource, a user identification for the user who has the resource open, the machine name where the resource is open, and the date and time when the resource was opened. The Resources Locks table 98 is a dynamic table that changes whenever a user opens a record in StarDesigner. - A Resources Assignments table 100 includes a record for lesson assigned to a student. This table allows the
CBT system 10 to keep track of lesson assignments. Each record of the Resources Assignments table 100 includes an assignment identification number, the resource identification number for the assigned lesson, a user identification for the student assigned the lesson, and a miscellaneous field that may indicate the number of times that the student has taken, or is assigned to take, the lesson. This may be a dynamic field that counts up or down to a predefined limit and, once the limit has been reached, the student may not be allowed to take the lesson again. The Resources Assignments table 100 is a dynamic table that changes whenever a lesson is assigned to a user, and may also change whenever a student takes a lesson. -
FIG. 4B is a diagram illustrating additional tables of therelational database 68 ofFIG. 4A . A Resources Dependencies table 102 includes a record for each resource that points to or calls another resource. This table allows theCBT system 10 to prevent the deletion of resources that are used by other resources. Each record of the Resources Dependencies table 102 includes a resource identification number for a subject resource, a resource identification number for a resource that is dependent on the subject resource, and a resource identification number for a resource on which on the subject resource depends. The Resources Dependencies table 102 is a dynamic table that changes whenever a link to a resource is added or deleted. - A Lessons Taken table 104 includes a record for each lesson taken. This table allows the
CBT system 10 to keep track of lessons as they are assigned and taken by the students. Each record of the Lessons Taken table 104 includes a lesson identification number for a particular lesson taken by a particular student, an indication of the number of questions of the lesson completed by the student, an indication of the number of questions that were answered correctly, the date and time the student began the lesson, the date and time the student completed the lesson, the student identification number for the student who took the lesson, the resource identification number for the lesson, an indication whether the lesson was successfully completed, a score computed in accordance with lesson logic configured into the lesson by the lesson designer, a review file identification number, and a response file identification number. The Lessons Taken table 104 is a dynamic table that changes whenever a link to a resource is added or deleted. -
FIGS. 5-18 are logic flow diagrams illustrating methodologies implemented by theCBT system 10. The description of these figures will refer to element numerals of the physical embodiment shown inFIG. 1 , as well as the database configuration shown in FIGS. 4A-B. -
FIG. 5 is a logic flow diagram illustrating a set-up routine 500 for theCBT system 10. Instep 502, a technician installs the database engine 60, thecourseware server software 62, and theStarRunner application 54 on thecourseware server workstation 18. Step 502 is followed bystep 504, in which the technician configures the StarRunner application folder as a share folder. This gives thestudent workstations 20 access to the StarRunner application. Step 504 is followed bystep 506, in which the technician installs theaudio server software 28 on theaudio server workstation 16. Step 506 is followed bystep 508, in which the technician installs the DIALOGIC telephone card(s) 32 and the associated software driver in theaudio server workstation 16. Step 508 is followed bystep 510, in which the technician uses thetelephone trunk 34 to connect the DIALOGIC telephone card(s) 32 to thePBX 14. Typically, each telephone line of thetrunk 34 connects to an associated audio port on the DIALOGIC telephone card(s) 32. Step 510 is followed bystep 512, in which the technician configures thePBX 14 with ahunt group 36 for the lines of thetrunk 34, which are connected to the ports of the DIALOGIC telephone card(s) 32. Step 512 is followed bystep 514, in which the technician installsStarDesigner 42,StarCapture 44, andAudioLab 46 on one ormore designer workstations 22, as desired. Step 514 is followed bystep 516, in which the technician configures thedesigner workstations 22 with network address for theCourseware Server workstation 18. This completes the set-up routine 500. -
FIG. 6A is a logic flow diagram illustrating a system utilization routine 600 for theCBT system 10. Inroutine 602, a lesson designer authors one or morelessons using StarDesigner 42,StarCapture 44, andAudioLab 46 one of thedesigner workstations 22.Routine 602 is described in greater detail with reference toFIG. 6B .Routine 602 is followed by routine 604, in which an administrator assigns one or more lessons to one or more students.Routine 604 is described in greater detail with reference toFIG. 12 .Routine 604 is followed by routine 606, in which a student takes one or more lessons using an instance of theStarRunner application 54.Routine 606 is described in greater detail with reference toFIG. 13 .Routine 606 is followed bystep 608, in which an administrator may review the audio response files, the review files, or the response files recorded or complied while the students took the lessons. In particular, a recorded audio file and a review file can be played in association with the corresponding lesson to playback the result of a student's actual verbal and physical mouse and keyboard movements during a previously taken lesson.FIG. 20 is an illustration of a CBT system user interface for selecting a reviewing file for this purpose. Although this completes the system utilization routine 600 as shown onFIG. 6A , it will be appreciated that this routine and its parts may be repeated many times as the CDT system is utilized. -
FIG. 6B is a logic flow diagram illustrating routine 602 for authoring lessons.Routine 602 follows the “BEGIN” step shown onFIG. 6A . In step 610 a lesson designer logs into theCBT system 10. Step 610 is followed bystep 612, in which thecourseware server 62 validates the user's identification and access rights by looking up the user's record in the Star Users table 90. If the user is authorized to create a new author (i.e., if the user is an administrator or super administrator),step 612 is followed bystep 614, in which the user may create or delete one or more authors. This will create or delete records in the Star Users table 90.FIG. 21 is an illustration of the CDT system user interface that may be used to create an author instep 614. - If the user is authorized to create a new lesson (i.e., if the user is a designer or higher in the rights hierarchy), step 614 (if it was performed) or step 612 is followed by
step 616, in which the user assigns a resource name and a resource type to a new lesson. Step 616 is followed by routine 618, in which the lesson designer creates the lesson.Routine 618 is described in greater detail with reference toFIG. 8 .Routine 618 is followed bystep 620, in which the lesson designer saves the new lesson. This creates new record in the Resources table 94 for the new lesson. Step 620 is followed by the “RETURN” steps, which returns to step 604 shown onFIG. 6A . -
FIG. 7 is a logic flow diagram illustrating a routine 700 for authoring lessons involving progressive mentoring.Routine 700 represents a high level of lesson design, which is superimposed on the more mechanical methodology descried with reverence toFIG. 8 . In other words, routine 700 describes a particular type of lesson methodology, whereasFIG. 8 describes the mechanics for creating any type of lesson using theCBT system 10. In the progressive mentoring training method, a lesson is divided into a plurality of skill-related task types, such as typing and speaking. Each task type is configured to selectively run in a demonstration mode in which user responses are not required to prompts relating to that task type, or in a training mode in which user responses are required to prompts relating to that task type. This allows the user to observe the lesson with all types of tasks in the demonstration mode, and then to practice the lesson with one type of task in the training mode while the other task is in the demonstration mode. Once the student becomes confident at these levels of mentoring, the student can “go solo” with all types of types of tasks operating in the training mode. - More specifically, in
step 702 the lesson designer breaks the task down into two or more skill-related task types, such as typing and speaking. Step 702 is followed bystep 704, in which the lesson designer creates the lesson methodology to demonstrate the desired practices. Step 704 is followed bystep 706, in which the lesson designer creates a simulation for the lesson with all modes of communication performed automatically by the system. This is the “observation” mode, in which the student simply observes the system perform the tasks as a master. Step 706 is followed bystep 708, in which the lesson designer recreates the lesson with one or more of the modes left for the student to perform. Step 708 is followed bystep 710, in which the lesson designer decides whether to create another scenario for the lesson. If the designer does want to create another scenario, the “YES” branch loops back to step 708, in which the lesson designer creates another scenario for the lesson. If the designer does not want to create another scenario, the “NO” branch is followed to step 712, in which the lesson designer creates the selection screens and accompanying script logic for implementing the progressive mentoring lesson. This concludes routine 700. -
FIG. 8 is a logic flow diagram illustrating routine 618 for creating lessons.Routine 618 followsstep 616 shown onFIG. 6A .FIG. 22 is an illustration of a CBT system user interface that may be used to create a new lesson instep 618. Instep 802, a lesson designer selects lesson properties to define a page template for the lesson.FIG. 23 is an illustration of a CBT system user interface that may 15 be used to establish lesson properties instep 802. The lesson properties are standard WINDOWS tool kit properties for defining a window's appearance, such as a background bit map, a background color, a border style, a caption, the height and width of the window, and the coordinate of the top left corner of the window. Step 802 is followed bystep 804, in which the lesson designer adds a page to the lesson. Step 804 is followed by routine 806, in which the lesson designer may define a global event for the page.Routine 806 is described in greater detail with reference toFIG. 9 .Routine 806 is followed bystep 808, in which the lesson designer decides whether to define another global event for the page. If the designer elects to create another global event for the page, the “YES” branch loops back to step 806, in which the lesson designer defines another global event for the page. - If the designer does not want to define another global event for the page, the “NO” branch is followed from
step 808 to routine 810, in which the lesson designer may add a control or capture an application screen into the page. The controls are standard WINDOWS tool kit controls for defining a window's appearance and functionality, such as a button, check box, combo box, edit box, text box, list box, radio button, tab control, group box, hot spot, an image link to a separately stored resource, and a video link to a separately stored resource.Routine 810 is described in greater detail with reference toFIG. 10 .Routine 810 is followed by routine 812, in which the lesson designer may define an event for the control.FIG. 24 is an illustration of a CBT system user interface that may be used to create a task list for a control instep 812. The process for defining a control event is the same as for defining a global event inroutine 806, which is described in greater detail with reference toFIG. 9 .Routine 812 is followed bystep 814, in which the lesson designer decides whether to define another event for the control that the designer is presently working on. If the designer elects to create another control event for the page, the “YES” branch loops back to step 812, in which the lesson designer defines another event for the control. - If the designer does not want to define another event for the control, the “NO” branch is followed from
step 814 to routine 816, in which the lesson designer may elect to add another control to the page that the designer is currently working on. If the designer elects to add another control to the page, the “YES” branch loops back to step 810, in which the lesson designer adds another control to the page. If the designer does not want to add another control to the page, the “NO” branch is followed to routine 818, in which the lesson designer saves the page. This creates a record in the Resources table 94 for the newly created page. Step 818 is followed bystep 820, in which the lesson designer may elect to add another page to the lesson that the designer is currently working on. If the designer elects to add another page to the lesson, the “YES” branch loops back to step 804, in which the lesson designer adds another page to the lesson. If the designer does not want to add another control to the page, the “NO” branch is followed to routine 822, in which the lesson designer may modify or delete lessons, pages, or other resources as desired. Step 822 is followed the “RETURN” step, which returns to step 620 shown onFIG. 6B . -
FIG. 9 is a logic flowdiagram illustrating routines Routines steps FIG. 8 . Instep 902, the lesson designer may select a task from a task menu. These task allow the lesson designer to build lesson logic into a page or control, such as display a bit map, display a video file, play an audio file, wait for a user action, go to the next page in the lesson, skip to another specified page, and increment a score for the lesson. A complete list of the available tasks and their associated properties are included inFIGS. 34-38 . - Step 902 is followed by
step 904, in which the lesson designer determines whether a resource is required for the event that the designer is programming. If a resource is not required for the event that the designer is programming, the “NO” branch loops down to step 922, in which theStarDesigner application 42 creates the Visual Basic script for running the selected task. If a resource is required for the event that the designer is programming, the “YES” branch is followed to step 906, in which the lesson designer determines whether the required resource already exists in theCBT system resources 70. If the resource already exists in theCBT system resources 70, the “YES” branch is followed to step 908, in which the lesson designer creates a link to desired resource. This creates a record in the Resource Dependencies table 102.FIG. 25 is an illustration of a CBT system user interface that may be used to link a page to an audio file instep 908. Step 908 is followed bystep 920, in which theStarDesigner application 42 adds the new resource to the resource list for the current page. - If the resource does not already exists in the
CBT system resources 70, the “NO” branch is followed fromstep 908 to step 912, in which the lesson designer specifies whether the desired resource is to be recorded at the present time. If the resource to be recorded at the present time, the “YES” branch is followed to step 914, in which the lesson designer records the resource. If the resource is not to be recorded at the present time then it is to be imported, and the “NO” branch is followed to step 916, in which the lesson designer imports the new resource.Steps step 918, in which the lesson designer saves the newly recorded or imported resource. This creates a record for the new resource in the Resources table 94. Step 918 is followed bystep 920, in which theStarDesigner application 42 adds the new resource to the resource list for the current page. Step 920 is followed bystep 922, in which theStarDesigner application 42 creates the Visual Basic script for running the selected task. Step 922 is followed bystep 924, in which the lesson designer may elect to add another task for the event that the designer is currently working on. If the designer elects to add another task for the event, the “YES” branch loops back to step 902, in which the lesson designer adds another task to the event. If the designer does not want to add another task to the event, the “NO” branch is followed to the “RETURN” step, which returns to step 808 or 814 shown onFIG. 8 . -
FIG. 10 is a logic flow diagram illustrating routine 810 for adding controls or capturing application screens.Routine 810 follows the “NO” branch fromstep 808 shown onFIG. 8 . Instep 1002, the lesson designer elects whether to add a control or capture an application screen. If the lesson designer elects to add a control, the “YES” branch is followed to step 1004, in which the lesson designer adds the control using the standard features shown onFIGS. 34-38 . If the lesson designer elects to capture an application screen, the “NO” branch is followed to step 1006, in which the lesson designer launches the application with the desired screen.Step 1006 is followed bystep 1008, in which the lesson designer finds and selects the desired screen object.FIG. 26 is an illustration of a CBT system user interface that may be used to select an application screen to capture instep 1008.Step 1008 is followed by routine 1010, in which the lesson designer interrogates the screen object to recreate its controls. Basically, the capture feature interrogates a target screen object to identify screen object controls that are supported by theStarDesigner application 42. The capture feature then renders each screen object control within the current lesson page to recreate the functional and visual aspects of the screen object control.Routine 1010 is described in greater detail with reference toFIG. 11 . -
Routine 1010 is followed bystep 1012, in which the lesson designer extracts one or more screen object bit maps from the screen object corresponding to visual aspects of the screen object that do not correspond to screen object controls.Step 1012 is followed by routine 1014, in which the lesson designer saves the extracted bit maps as resources. This creates a record in the Resources table 94 for each saved bit map.Step 1014 is followed bystep 1016, in which theStarDesigner application 42 creates the Visual Basic script for combining the extracted bit maps with the screen object controls to recreate the captured screen object on the current page.FIG. 27 is an illustration of a CBT system user interface that shows an imported application screen instep 1016.Step 1016 is followed by the “RETURN” step, which returns to step 812 shown onFIG. 8 . -
FIG. 11 is a logic flow diagram illustrating routine 1010 for interrogating a screen object.Routine 1010 followsstep 1008 shown onFIG. 8 . Instep 1102, theStarCapture utility 44 interrogates the screen window for objects using its API interface.Step 1102 is followed bystep 1104, in which theStarCapture utility 44 determines whether the screen window has a menu. If the screen window has a menu, the “YES” branch is followed to step 1106, in which theStarCapture utility 44 stores the menu in the script for the lesson page.Step 1106 and the “NO” branch fromstep 1104 are followed bystep 1108, in which theStarCapture utility 44 stores the WINDOWS properties for the screen window in the in the script for the lesson page.Step 1108 is followed bystep 1110, in which theStarCapture utility 44 stores any non-recognized windows as bit maps. These bit maps are then extracted and stored as resources, as described previously with reference tosteps Step 1110 is followed by step 1112, in which theStarCapture utility 44 determines whether the current window has a child window. If the current window has a child window, the “YES” branch loops back tostep 1102, in which theStarCapture utility 44 queries the child window for objects. If the current window does not have a child window, the “NO” branch is followed by the “RETURN” step, which returns to step 1012 shown onFIG. 12 . -
FIG. 12 is a logic flow diagram illustrating routine 604 for assigning lessons.Routine 604 follows routine 602 shown onFIG. 6A . Instep 1202, an administrator or super administrator logs into thecourseware server 62.Step 1202 is followed bystep 1204, in which thecourseware server 62 validates the user's identification and access rights by looking up the user's record in the Star Users table 90. If the user is authorized to assign lessons (i.e., if the user is an administrator or super administrator),step 1204 is followed bysteps FIG. 28 is an illustration of a CBT system user interface that may be used to add a new student instep 1206.Step 1208 is followed bystep 1210, in which the administrative user may assign one or more lessons to one or more students, or remove one or more previously created assignments.FIG. 29 is an illustration of a CBT system user interface that may be used to assign lessons to students instep 1210. This will create or delete records in the Resource Assignments table 100.Step 1210 is followed bystep 1212, in which the administrative user may delete records from the Lessons Taken table 104 if desired.Step 1212 is followed by the “RETURN” step, which returns to routine 606 shown onFIG. 6 . -
FIG. 13 is a logic flow diagram illustrating routine 606 for running lessons.Routine 606 follows routine 604 shown onFIG. 6A . Instep 1302, astudent workstation 20 receives a double click command on the StarRunner application icon in the shared network folder.Step 1302 is followed bystep 1304, in which thecourseware server 62 downloads an instance of theStarRunner application 54 to thestudent workstation 20 where the double click command originated. The local instance of theStarRunner application 54 then launches and runs within the memory space of thestudent workstation 20.Step 1304 is followed bystep 1306, in which theStarRunner application 54 presents the student with a login screen, and the student logs in.FIG. 30 is an illustration of a CBT system user interface that may be used to log into the CBT system instep 1306.Step 1306 is followed bystep 1308, in which theStarRunner application 54 validates the user's identification and access rights by looking up the user's record in the Star Users table 90. If the user is an authorized student,step 1308 is followed bystep 1310, in which theStarRunner application 54 gets a list of assigned lessons by looking up the lessons assigned to the student in the Resource Assignments table 100.Step 1310 is followed bystep 1312, in which theStarRunner application 54 presents the student with the list of available lessons and receives a selection of one of these lessons.FIG. 31 is an illustration of a CBT system user interface that may be used by a student to select a lesson to take instep 1312.Step 1312 is followed bystep 1314, in which theStarRunner application 54 receives a “run lesson” command from the student. -
Step 1314 is followed by routine 1316, in which theaudio server port 20 connected to the student'stelephone extension 40 a becomes synchronized with the student'sworkstation 20.Routine 1316 is described in greater detail with reference toFIG. 14 .Routine 1316 is followed by routine 1318, in which theStarRunner application 54 runs the selected lesson on the student'stelephone extension 40 a and the student'sworkstation 20.FIG. 32 is an illustration of a CDT system user that may used during routine 1318 to display the lesson pages.Routine 1318 is described in greater detail with reference toFIG. 15 .Routine 1318 is followed by the “RETURN” step, which returns to step 606 shown onFIG. 6 . -
FIG. 14 is a logic flow diagram illustrating routine 1316 for synchronizing an audio port with an associates student workstation.Routine 1316 followsstep 1314 shown onFIG. 13 . Instep 1402, a local instance of theStarRunner application 54 running on astudent workstation 20 prompts the student to place a telephone call to the pilot number for thehunt group 36.FIG. 33 is an illustration of a CBT system user interface for logging onto the audio server instep 1402. The screen display may give this number to the student, or the student may be expected to know this number from a previous orientation session. In either case, the student then dials the pilot number on thetelephone extension 40 b.Step 1402 is followed bystep 1404, in which thePBX 14 receives the telephone call and connects the student'stelephone extension 40 b with the aparticular audio port 71 of theDIALOGIC card 32 audio server by finding anavailable line 73 of thetelephone trunk 34 within thehunt group 36 and connecting that line with theincoming telephone line 38 b from the student's telephone extension. Theaudio server 16 then receives the telephone call on that particular audio port having the assignedport number 71; namely, the port connected to thetelephone line 73 selected by thePBX 14 to connect theaudio server 16 with the student'stelephone extension 40 b. -
Step 1404 is followed bystep 1406, theaudio server 16contacts courseware server 18 and delivers amessage 80 to the courseware server. This message, which includes theaudio port number 71 for the subject training session, requests thecourseware server 18 to issue an identification orPIN 82 for the training session.Step 1406 is followed bystep 1408, in which thecourseware server 18 either randomly generates or looks up anavailable PIN 82 from a predefined memory location, and delivers the PIN to theaudio server 16. Thecourseware server 18 also stores thePIN 82 and theaudio port number 71 for the training session in a table for later use.Step 1408 is followed bystep 1410, in which theaudio server 16 employs pre-recorded audio files to play thePIN 82 on the student'stelephone extension 40 b along with a recording asking the student to enter the PIN into a predefined edit field within a dialog box displayed on the student'sworkstation 20. -
Step 1410 is followed bystep 1412, in which the student enters thePIN 82 into the dialog box along with an “OK” command, which delivers the PIN to thecourseware server 18.Step 1412 is followed bystep 1414, in which thecourseware server 18 uses the PIN to correlate the network address for the student'sworkstation 20 with theaudio port 71 in theaudio server 16 that is connected to the student'stelephone extension 40 b. Specifically, thecourseware server 16 enters the network address for the student'sworkstation 20 into the reference table, completing a record for the training session that includes thePIN 82, the audioserver port number 71 for the training session, and the network address for the student'sworkstation 20. During the course of the training session, the courseware server references this record to route audio files for the training session to the correctaudio server port 71, which causes the audio server to play these audio files on student'stelephone extension phone 40 b.Step 1414 is followed by the “RETURN” step, which returns to step 1318 shown onFIG. 13 . -
FIG. 15 is a logic flow diagram illustrating routine 1318 for running a selected lesson.Routine 1318 follows routine 1316 shown onFIG. 13 . Instep 1502, the local instance of theStarRunner application 54 gets the selected lesson. This lesson was selected by the student from a list obtained by looking up the student's available lessons in the Resource Assignments table 100. This look up provides theStarRunner application 54 with the resource name for each lesson presented to the student for selection. TheStarRunner application 54 then receives the resource name for the lesson from the student's selection command, and gives the name of the lesson to theCourseware Server 62, which uses the lesson name to look up the resource path ID for the lesson in the Resources table 94. TheCourseware Server 62 then uses the resource path ID to look up the path name for the lesson in the Resource Paths table 96. TheStarRunner application 54 then appends the lesson name to the lesson path name to obtain the root path for retrieving the selected lesson from memory. -
Step 1502 is followed bystep 1504, in which theStarRunner application 54 gets the first page for the lesson. Recall that the lesson does not store any resource or lesson logic data, but merely contains a list of pages for the lesson. For this reason, theStarRunner application 54 retrieves the first page in the lesson list to begin the lesson. This process is virtually the same as the previously-described process for retrieving the lesson. Specifically, theCourseware Server 62 obtains the resource name for the page from the lesson, and uses the page name to look up the resource path ID for the page in the Resources table 94. TheCourseware Server 62 then uses the page path ID to look up the path name for the page in the Resource Paths table 96. TheCourseware Server 62 then appends the page name to the page path name to obtain the root path for retrieving the page from memory. -
Step 1504 is followed bystep 1506, in which theStarRunner application 54 loads the resources for the current page into a local or cache memory, such as the system RAM. This activity, sometimes referred to as “caching,” moves the resource data from a slower-retrieval storage location, such as a hard drive or CD ROM, into a faster-retrieval storage location, such as the system RAM. This minimizes any delay that might otherwise occur when the resource data is subsequently to be played or displayed in the course of running the logic. Again, the process for retrieving each resource file is virtually the same as the previously-described process for retrieving the lesson and the page. Specifically, theCourseware Server 62 obtains the resource name for the resource from the page, and uses the resource name to look up the resource path ID in the Resources table 94. TheCourseware Server 62 then uses the resource path ID to look up the resource name in the Resource Paths table 96. TheCourseware Server 62 then appends the resource name to the resource path name to obtain the root path for retrieving the resource from memory. -
Step 1506 is followed bystep 1508, in which theStarRunner application 54 implements the script logic for the page. This script logic may implement any number of logic paths, some or all of which may each exit the page in a different way. Generally, there are four script commands for exiting a page, “skip to next page,” “skip to previous page,” “skip to page [name], and “quit lesson.” These commands, along with the other global or page-level commands, are included in the task table shown onFIG. 34 . The “skip to next page” command instructs theStarRunner application 54 to load and execute the next page in the lesson list of pages. The “skip to previous page” command instructs theStarRunner application 54 to load and execute the previous page in the lesson list of pages. The “skip to page [name]” command instructs theStarRunner application 54 to load and execute the named page. And the “quit lesson” command instructs theStarRunner application 54 to end the lesson. - It should be appreciated, therefore, that the list of pages in an associated lesson is not the only logic path through the logic, but instead provides a complete list of all pages that may be called during the lesson. This makes the lesson page list useful for identifying resource dependencies, but is does not serve a static definition of the lesson logic. That is, the page list included in the lesson does not necessarily determine the path through any particular instance of the lesson. Rather, the logic implemented within the individual pages may enable any number of different logic paths through any given lesson. This is an attribute, but not an essential element, of the “virtual resource” configuration, in which each page is not only separately stored and independently retrievable for use in multiple lessons, but the page may also implement its own logic paths.
-
Step 1508 is followed bystep 1510, in which theStarRunner application 54 implements a progressive mentoring lesson. This is an optional step, which is included for the purpose of illustrating the run-time methodology of a progressive mentoring lesson. The authoring logic for the progressive mentoring lesson was described previously with reference toFIG. 7 , and the run-time logic is described in greater detail with reference toFIG. 16 .Routine 1510 is followed by routine 1512, in which theStarRunner application 54 implements voice-based progression through a lesson. This is also an optional step, which is included for the purpose of illustrating the voice-based progression methodology, which is described in greater detail with reference toFIG. 17 . -
Routine 1512 is followed bystep 1514, in which theStarRunner application 54 determines whether an “exit page” script command has been received. As noted previously, in the illustrated embodiment an “exit page” command may be a “skip to next page,” “skip to previous page,” “skip to page [name], or “quit lesson” command. If an “exit page” script command has not been received, the “NO” loops back tostep 1508, in which theStarRunner application 54 reads and implements the next script command for the current page. If an “exit page” script command has been received, the “YES” branch is followed to the “CONTINUE” step, which returns theStarRunner application 54 implements the “exit page” command by going to the specified page or quitting the lesson. -
FIG. 16 is a logic flow diagram illustrating routine 1510 for running a progressive mentoring lesson.Routine 1510 followsstep 1508 shown onFIG. 15 . Recall that in a progressive mentoring training lesson, the lesson is divided into a plurality of skill-related task types, such as typing and speaking. Each task type is configured to selectively run in a demonstration mode in which user responses are not required to prompts relating to that task type, or in a training mode in which user responses are required to prompts relating to that task type. This allows the user to observe the lesson with all types of tasks in the demonstration mode, and then to practice the lesson with one type of task in the training mode while the other task is in the demonstration mode. Once the student becomes confident at these levels of mentoring, the student can “go solo” with all types of types of tasks operating in the training mode. - the “observation mode” with all types of types of tasks operating in the demonstration mode as the first scenario.
Step 1604 is followed bystep 1606, in which the student elects whether to run the lesson in another mode or scenario. Typically, the student reruns the lesson to practice each skill in the training mode separately. To facilitate skill-by-skill training, the progressive mentoring lesson may include scenarios for practicing each lesson skills independently and in combination with one or more other skills. If the student elects to run the lesson in another mode, the “YES” loops back tostep 1602, in which theStarRunner application 54 runs the selected lesson scenario. If the student does not elect to run the lesson in another mode, the “NO” branch is followed to step 1608, in which the student may elect to “go solo” with all types of types of tasks operating in the training mode. - If the student elects to run the lesson in the “solo” mode, the “YES” is followed to step 1610, in which the user selects the “solo” mode command.
Step 1610 is followed bystep 1612, in which theStarRunner application 54 runs the selected lesson in the “solo” mode. For some applications, the “solo” mode may be scored as a certification test. In addition, the student's voice and keyboard/mouse activities during the “solo” made may be recorded in a recorded audio file, a review file, and/or a response file for subsequent evaluation.Step 1612 is followed by the “RETURN” step, which returns to step 1512 shown onFIG. 15 . - If the student does not feel ready to “go solo,” the “NO” branch is followed to step 1614, in which the student may elect to end the training session. If the student does not elect to end the training session, the “NO” branch loops back to
step 1606, in which the student may elect to practice the lesson in one of the available training modes. If the student elects to end the training session, the “YES” branch is followed to the “RETURN” step, which returns to step 1512 shown onFIG. 15 . “YES” branch is followed to the “RETURN” step, which returns to step 1512 shown onFIG. 15 . -
FIG. 17 is a logic flow diagram illustrating routine 1512 for implementing voiced-based progression.Routine 1512 follows routine 1510 shown onFIG. 15 . In routine 1702, theaudio server 16 may set up the speech detection thresholds prior to starting the training session. This step is optional whencertain DIALOGIC cards 32 are use because these cards implement their own silence detection, and provide theaudio server 16 with an audio transition signal (i.e., silence to non-silence, or vice versa). In addition, for applications using the student workstation-based sound cards and microphones, the speech detection thresholds may be pre-set to heuristically determined standard settings, and the student user may be expected to adjust the microphone gain on the workstation end to obtain the desires system response. Nevertheless, for some applications it may be advantageous to set the speech detection thresholds at theaudio server 16 prior to starting the training session. -
Routine 1702 is followed bystep 1704, in which theStarRunner application 54 implements the task scripts defined by the current page.Step 1704 is followed bystep 1706, in which theStarRunner application 54 complete a task, such as a voice prompt, requiring a verbal or other type of audio student response.Step 1706 is followed bystep 1708, in which theStarRunner application 54 listens to the student audio, typically over thetelephone 40 b or over the student workstation-based microphone.Step 1708 is followed bystep 1710, in which theStarRunner application 54 detects an audio transition. As noted previously, theStarRunner application 54 may make this transition detection itself, or it may receive an audio transition signal from theDIALOGIC card 32. - If an audio transition is detected, the “YES” branch is followed to step 1712, in which the
StarRunner application 54 determines whether the transition is a sound event (i.e., silence to sound transition, rather than a sound to silence transition). if the transition is a not sound event, then it is a silence event (i.e., sound to silence transition), and the “NO” branch is followed to step 1713, in which theStarRunner application 54 starts the voice management timer. This timer is used to time the predetermined period of silence following the student's response required to progress the lesson. This predetermined period of time, which is typically set at two seconds, is referred to as the “silence progression limit.” In addition, the silence progression limit may be an adjustable parameter that may be changed through a menu setting or other type of configuration parameter. - Referring again to step 1712, if the transition is a sound event, the “YES” branch is followed to step 1714, in which the
StarRunner application 54 determines whether the transition is the first sound event received since the voice prompt was communicated onstep 1706. If the transition is the first sound event received since the voice prompt was communicated onstep 1706, the “YES” branch is followed to step 1715, in which theStarRunner application 54 begins saving the student audio data. If the transition is not the first sound event received since the voice prompt was communicated onstep 1706, the “NO” branch is followed to step 1716, in which theStarRunner application 54 restarts the voice management timer. This timer is reset instep 1716 so that any initial noises received from the student, such as throat clearing, initial stammering, or paper rustling will restart the voice management timer. Followingsteps step 1708, in which theStarRunner application 54 continues to listen to the student audio. - Referring again to step 1713, this step is followed by
step 1718, in which theStarRunner application 54 determines whether the voice management timer has reached the silence progression limit. If the voice management timer has reached the silence progression limit, the “YES” branch is followed to step 1720, in which theStarRunner application 54 stops saving the student-generated audio data.Step 1720 is followed bystep 1722, in which theStarRunner application 54 implements the next task in the page script. That is, theStarRunner application 54 progresses the lesson in response to detecting a period of silence lasting the silence progression limit following the detection of a sound event. -
Step 1722 is followed bystep 1724, in which theStarRunner application 54 may implement voice recognition analysis and response. That is, theStarRunner application 54 may optionally be configured to recognize and interpret the student's audio response in real time, and select the next task based on this analysis. For example, if the student's response is interpreted to be correct, theStarRunner application 54 may progress the lesson to the next task and increment the lesson score. Alternatively, if the student's response is interpreted to be incorrect, theStarRunner application 54 may respond accordingly, for example by prompting the user to try again, correcting the student and progress the lesson, decreasing the lesson score, or the like. It will be appreciated that a wide variety of lesson logic paths may be programmed into the lesson logic to take advantage of the voice recognition and interpretation capability. Followingstep 1724, routine 1512 loops back tostep 1704, in which theStarRunner application 54 implements another task script. - Referring again to step 1718, if the voice management timer has not reached the silence progression limit, the “NO” branch loops back to
step 1720, in which theStarRunner application 54 continues to listen to the student audio. In other words, theStarRunner application 54 continues to listen to the student audio until it detects another sound transition instep 1710, or until it voice management timer reaches the silence progression limit instep 1718. - Referring again to step 1710, if the StarRunner does not detect a sound 25 transition, the “NO” branch loops down to
step 1726, in which theStarRunner application 54 determines whether a timeout threshold has been reached. This timeout threshold is used to discontinue the lesson if the student fails to provide an audio response in response to an audio prompt for a predetermined period of time, such as thirty seconds. This prevents theCBT system 10 from filling its memory resources with long periods of recorded silence. If the timeout threshold has not been reached, the “NO” branch loops back tostep 1708, in which theStarRunner application 54 continues to listen to the student audio. In other words, theStarRunner application 54 continues to listen to the student audio until it detects another sound transition instep 1710, or until the timeout threshold has been reached instep 1726.Step 1726 is followed by the “RETURN” step, in which theCBT system 10 stops recording student audio data, if necessary, and then returns to the “END” step shown onFIG. 15 . -
FIG. 18 is a logic flow diagram illustrating routine 1702 for setting up a speech detection threshold for voiced-based progression.FIG. 18 will be described in connection withFIG. 19 , which is a diagram illustrating the speech detection threshold.FIG. 19 includes avertical register 1900 with 256 bins, which represents an 8-bit sound value received from a PC sound card or another audio source. In this illustration, the bit value zero is on the bottom of theregister 1900, and the bit value 265 is on the top. Of course, thisregister 1900 could include 64,256 bins to represent a 16-bit sound value, or any other number of bins that may be appropriate for a particular sound signal. Thecenter 128bit value 1902 represents the absence of sound, and the register levels above and below thiscenter bit value 1902 represent sound, with the level of the sound increasing as the bit values get further away from thecenter 128bit value 1902. -
Routine 1512 follows routine 1510 shown onFIG. 15 . Instep 1802, in which theaudio server 16 prompts the student user for a period of silence. This allows theaudio server 16 to measure the background noise received by the microphone or telephone handset or headset at the student's location. This measured background sound level is represented onFIG. 19 as the “measured sound—silence” levels 1904 a-b.Step 1802 is followed bystep 1804, in which theaudio server 16 prompts the student to speak at a normal volume. This measured speech sound level is represented onFIG. 19 as the “measured sound-speech” levels 1906 a-b.Step 1804 is followed bystep 1806, in which theaudio server 16 sets the speech detection threshold levels 1908 a-b based on the measured speech levels. For example, the audio server may set the speech detection threshold levels 1908 a-b half way between the “measured sound-silence” levels 1904 a-b and the “measured sound—speech” levels 1906 a-b. -
Step 1806 is followed by the “RETURN” step, which returns to step 1704 shown onFIG. 15 . - Referring to
FIG. 19 , typical speech detection threshold levels 1908 a-b are shown as bit values 144 and 112, which correspond to 16 bits above an below the center 128-bit level 1902. These speech detection threshold levels 1908 a-b have heuristically been found to produce acceptable results in most instances. Thus, these speech detection threshold levels 1908 a-b are preferred as the standard settings. In addition, routine 1702 may be altered such that only the background noise levels 1904 a-b are measured. In this case, the speech detection threshold levels 1908 a-b may be set a predetermined number distance from the background noise levels 1904 a-b, such as twice the background noise levels 1904 a-b or 8 bits away from the background noise levels 1904 a-b. -
FIG. 20 is an illustration of a CBT system user interface for selecting a review file for evaluating a lesson result. This user interface may be used to select a completed lesson to review instep 608 shown onFIG. 6A . -
FIG. 21 is an illustration of a CBT system user interface for creating a new lesson author. This user interface may be used to create an author instep 614 shown onFIG. 6B . -
FIG. 22 is an illustration of a CBT system user interface for creating a new lesson. This user interface may be used to create a new lesson to review instep 618 shown onFIG. 6B . -
FIG. 23 is an illustration of a CBT system user interface for setting lesson properties. This user interface may be used to establish lesson properties instep 802 shown onFIG. 8 . -
FIG. 24 is an illustration of a CBT system user interface for creating a task list for a control. This user interface may be used to create a task list for a control instep 812 shown onFIG. 8 . -
FIG. 25 is an illustration of a CBT system user interface for inserting audio files into a lesson. This user interface may be used to link a page to an audio file instep 908 shown onFIG. 9 . -
FIG. 26 is an illustration of a CBT system user interface for selecting an application screen to capture into a lesson. This user interface may be used to select an application screen to capture instep 1008 shown onFIG. 10 . -
FIG. 27 is an illustration of a CBT system user interface including an application screen captured into a lesson. This user interface illustrates an imported application screen instep 1016 shown onFIG. 10 . -
FIG. 28 is an illustration of a CBT system user interface for creating a new student. This user interface may be used to add a new student instep 1206 shown onFIG. 12 . -
FIG. 29 is an illustration of a CBT system user interface for assigning a lesson to a student. This user interface may be used to assign lessons to students instep 1210 shown onFIG. 10 . -
FIG. 30 is an illustration of a CBT system user interface for student login. This user interface may be used to log into the CBT system instep 1306 shown onFIG. 13 . -
FIG. 31 is an illustration of a CBT system user interface for viewing lessons assigned to a student. This user interface may be used by a student to select a lesson to take instep 1312 shown onFIG. 13 . -
FIG. 32 is an illustration of a CBT system user interface running a lesson. This user interface may be used instep 1318 shown onFIG. 13 . -
FIG. 33 is an illustration of a CBT system user interface for logging onto the audio server instep 1402 shown onFIG. 14 . -
FIGS. 34-38 include tables illustrating controls, tasks, and task events that may be used to author lessons. These tables list and describe the authoring tools described with reference toFIGS. 8, 9 and 10. - In view of the foregoing, it will be appreciated that the versatile resources of the present invention reduce the memory storage requirements for a CBT system capable of supporting multiple training scenarios in a multi-user network environment. This CBT system realistically simulates multi-mode communication systems, implements progressive mentoring and voice-based progression methodologies, and achieves other advancements and improvements in the art of computer-based training. It should be understood that the foregoing relates only to the exemplary embodiments of the present invention, and that numerous changes may be made therein without departing from the spirit and scope of the invention as defined by the following claims.
Claims (24)
1. A computer-implemented method for receiving training comprising:
accessing a runner program module with a client computing device;
selecting a lesson using the runner program module;
receiving a graphical resource associated with the lesson at the client computing device; and
receiving an audio resource associated with the lesson.
2. The computer-implemented method of claim 1 , wherein the graphical resource is received from a lesson server.
3. The computer-implemented method of claim 1 , wherein the audio resource is received from an audio server.
4. The computer-implemented method of claim 2 , further comprising the step of transmitting a response to the lesson server.
5. The computer-implemented method of claim 3 , further comprising the step of transmitting a response to the audio server.
6. The computer-implemented method of claim 1 , further comprising the steps of:
providing a response to the graphical resource and the audio resource; and
in response to providing the response, receiving a new graphical resource associated with the lesson and receiving a new audio resource associated with the lesson.
7. The computer-implemented method of claim 1 , wherein the audio resource is synchronized with the graphical resource.
8. The computer-implemented method of claim 3 , wherein the audio server is connected to a private branch exchange system.
9. The computer-implemented method of claim 1 , wherein the audio resource is received through a wireless communication device.
10. The computer-implemented method of claim 1 , wherein the audio resource is received through a telephone.
11. The computer-implemented method of claim 1 , wherein the graphical resource displays a pilot number associated with an audio server.
12. The computer-implemented method of claim 1 , wherein the audio resource further comprises voice interactivity.
13. A computer-readable medium having computer-executable instructions for performing the steps recited in claim 1 .
14. A computer-implemented method for simulating the work of a contact center agent comprising:
receiving a request for a lesson from the contact center agent, the lesson comprising a first resource type and a second resource type; and
transmitting the lesson to the contact center agent via a first mode associated with the first resource type and a second mode associated with the second resource type.
15. The computer-implemented method of claim 14 , wherein the first mode is a computing device and the second mode is a communication device.
16. The computer-implemented method of claim 14 , wherein the lesson is in a demonstration status that does not require a response from the contact center agent.
17. The computer-implemented method of claim 14 , wherein the lesson is in a training status that requires a response from the contact center agent.
18. The computer-implemented method of claim 14 , wherein the lesson further comprises a test of the contact center agent's skills.
19. The computer-implemented method of claim 15 , wherein the communication device is connected to a private branch exchange system.
20. The computer-implemented method of claim 15 , wherein the communication device is a wireless telecommunication device.
21. The computer-implemented method of claim 15 , wherein the communication device is a telephone.
22. The computer-implemented method of claim 14 , wherein the second resource type further comprises voice interactivity.
23. The computer-implemented method of claim 14 , wherein the first resource type is synchronized with the second resource type.
24. A computer-readable medium having computer-executable instructions for performing the steps recited in claim 14.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/270,869 US20060057551A1 (en) | 2000-05-09 | 2005-11-09 | Versatile resource computer-based training system |
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US20279200P | 2000-05-09 | 2000-05-09 | |
US20278900P | 2000-05-09 | 2000-05-09 | |
US20261300P | 2000-05-09 | 2000-05-09 | |
US09/638,771 US7043193B1 (en) | 2000-05-09 | 2000-08-15 | Versatile resource computer-based training system |
US11/270,869 US20060057551A1 (en) | 2000-05-09 | 2005-11-09 | Versatile resource computer-based training system |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/638,771 Division US7043193B1 (en) | 2000-05-09 | 2000-08-15 | Versatile resource computer-based training system |
Publications (1)
Publication Number | Publication Date |
---|---|
US20060057551A1 true US20060057551A1 (en) | 2006-03-16 |
Family
ID=36272382
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/638,771 Expired - Fee Related US7043193B1 (en) | 2000-05-09 | 2000-08-15 | Versatile resource computer-based training system |
US11/270,869 Abandoned US20060057551A1 (en) | 2000-05-09 | 2005-11-09 | Versatile resource computer-based training system |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/638,771 Expired - Fee Related US7043193B1 (en) | 2000-05-09 | 2000-08-15 | Versatile resource computer-based training system |
Country Status (1)
Country | Link |
---|---|
US (2) | US7043193B1 (en) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008154487A1 (en) * | 2007-06-07 | 2008-12-18 | Monarch Teaching Technologies, Inc. | System and method for generating customized visually-based lessons |
US20120115123A1 (en) * | 2010-11-09 | 2012-05-10 | Dana Alan Koch | Providing learning tools |
US8346731B1 (en) * | 2007-09-28 | 2013-01-01 | Symantec Corporation | Techniques for global single instance indexing for backup data |
US20130219132A1 (en) * | 2012-02-20 | 2013-08-22 | Tohoku University | Storage medium storing information processing program, information processing apparatus, information processing method, and information processing system |
US20130266920A1 (en) * | 2012-04-05 | 2013-10-10 | Tohoku University | Storage medium storing information processing program, information processing device, information processing method, and information processing system |
US20140078137A1 (en) * | 2012-09-14 | 2014-03-20 | Nagabhushanam Peddi | Augmented reality system indexed in three dimensions |
US20150339942A1 (en) * | 2013-02-19 | 2015-11-26 | Smart Sparrow Pty Ltd. | Computer-Implemented Frameworks and Methodologies for Generating, Delivering and Managing Adaptive Tutorials |
US20170116880A1 (en) * | 2015-10-23 | 2017-04-27 | Geetha Srikantan | Integrated and interactive multi-modal framework for speech therapy |
US20170287349A1 (en) * | 2016-03-31 | 2017-10-05 | Cae Inc. | Method and system for updating a simulation plan for training personnel on system maintenance |
US20190146815A1 (en) * | 2014-01-16 | 2019-05-16 | Symmpl, Inc. | System and method of guiding a user in utilizing functions and features of a computer based device |
US20220130268A1 (en) * | 2020-10-23 | 2022-04-28 | Pearson Education, Inc. | Plugin system and pathway architecture |
Families Citing this family (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040202309A1 (en) * | 1999-11-16 | 2004-10-14 | Knowlagent, Inc. | Managing the rate of delivering performance interventions in a contact center |
US20060233346A1 (en) * | 1999-11-16 | 2006-10-19 | Knowlagent, Inc. | Method and system for prioritizing performance interventions |
US20040202308A1 (en) * | 1999-11-16 | 2004-10-14 | Knowlagent, Inc. | Managing the selection of performance interventions in a contact center |
US20050175971A1 (en) * | 1999-11-16 | 2005-08-11 | Knowlagent, Inc., Alpharetta, Ga | Method and system for scheduled delivery of training to call center agents |
US6775377B2 (en) * | 2001-09-10 | 2004-08-10 | Knowlagent, Inc. | Method and system for delivery of individualized training to call center agents |
US7043193B1 (en) * | 2000-05-09 | 2006-05-09 | Knowlagent, Inc. | Versatile resource computer-based training system |
US7210938B2 (en) * | 2001-05-09 | 2007-05-01 | K12.Com | System and method of virtual schooling |
US8068595B2 (en) | 2002-03-15 | 2011-11-29 | Intellisist, Inc. | System and method for providing a multi-modal communications infrastructure for automated call center operation |
US7292689B2 (en) * | 2002-03-15 | 2007-11-06 | Intellisist, Inc. | System and method for providing a message-based communications infrastructure for automated call center operation |
US8170197B2 (en) | 2002-03-15 | 2012-05-01 | Intellisist, Inc. | System and method for providing automated call center post-call processing |
TWI253599B (en) * | 2002-07-08 | 2006-04-21 | Farstone Tech Inc | System and method for remote training over a computer network |
JP2005003926A (en) * | 2003-06-11 | 2005-01-06 | Sony Corp | Information processor, method, and program |
CN100585662C (en) | 2003-06-20 | 2010-01-27 | 汤姆森普罗梅特里克公司 | System and method for computer based testing using cache and cacheable objects to expand functionality of a test driver application |
US20060072739A1 (en) * | 2004-10-01 | 2006-04-06 | Knowlagent Inc. | Method and system for assessing and deploying personnel for roles in a contact center |
US8116674B2 (en) * | 2005-05-09 | 2012-02-14 | Teaching Point, Inc. | Professional development system and methodology for teachers |
US20060286534A1 (en) * | 2005-06-07 | 2006-12-21 | Itt Industries, Inc. | Enhanced computer-based training program/content editing portal |
US7869988B2 (en) | 2006-11-03 | 2011-01-11 | K12 Inc. | Group foreign language teaching system and method |
US7818164B2 (en) | 2006-08-21 | 2010-10-19 | K12 Inc. | Method and system for teaching a foreign language |
US20080059484A1 (en) * | 2006-09-06 | 2008-03-06 | K12 Inc. | Multimedia system and method for teaching in a hybrid learning environment |
US8281234B2 (en) * | 2007-03-20 | 2012-10-02 | Microsoft Corporation | Definable application assistant |
US10198958B2 (en) * | 2007-05-04 | 2019-02-05 | Freer Logic | Method and apparatus for training a team by employing brainwave monitoring and synchronized attention levels of team trainees |
US20080295110A1 (en) * | 2007-05-23 | 2008-11-27 | Fabrizio Muscarella | Framework for Startup of Local Instance of Remote Application |
US20090081628A1 (en) * | 2007-09-24 | 2009-03-26 | Roy Leban | System and method for creating a lesson |
US20090305200A1 (en) * | 2008-06-08 | 2009-12-10 | Gorup Joseph D | Hybrid E-Learning Course Creation and Syndication |
US8838015B2 (en) * | 2009-08-14 | 2014-09-16 | K12 Inc. | Systems and methods for producing, delivering and managing educational material |
US20110039246A1 (en) * | 2009-08-14 | 2011-02-17 | Ronald Jay Packard | Systems and methods for producing, delivering and managing educational material |
US20110039249A1 (en) * | 2009-08-14 | 2011-02-17 | Ronald Jay Packard | Systems and methods for producing, delivering and managing educational material |
US8768240B2 (en) * | 2009-08-14 | 2014-07-01 | K12 Inc. | Systems and methods for producing, delivering and managing educational material |
US9112971B2 (en) * | 2010-03-18 | 2015-08-18 | Perfect Pitch Technology, Llc | Method and system for simultaneously managing a plurality of simulated real-time conversations |
US8727781B2 (en) | 2010-11-15 | 2014-05-20 | Age Of Learning, Inc. | Online educational system with multiple navigational modes |
US9324240B2 (en) | 2010-12-08 | 2016-04-26 | Age Of Learning, Inc. | Vertically integrated mobile educational system |
US8731454B2 (en) | 2011-11-21 | 2014-05-20 | Age Of Learning, Inc. | E-learning lesson delivery platform |
US8488769B1 (en) | 2012-04-24 | 2013-07-16 | Noble Systems Corporation | Non-scheduled training for an agent in a call center |
US8535059B1 (en) | 2012-09-21 | 2013-09-17 | Noble Systems Corporation | Learning management system for call center agents |
US8834175B1 (en) | 2012-09-21 | 2014-09-16 | Noble Systems Corporation | Downloadable training content for contact center agents |
US8649499B1 (en) | 2012-11-16 | 2014-02-11 | Noble Systems Corporation | Communication analytics training management system for call center agents |
US9501611B2 (en) | 2015-03-30 | 2016-11-22 | Cae Inc | Method and system for customizing a recorded real time simulation based on simulation metadata |
US10289573B1 (en) * | 2017-04-18 | 2019-05-14 | National Technology & Engineering Solutions Of Sandia, Llc | Bus based timed input output module |
US11004350B2 (en) | 2018-05-29 | 2021-05-11 | Walmart Apollo, Llc | Computerized training video system |
Citations (92)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3245157A (en) * | 1963-10-04 | 1966-04-12 | Westinghouse Electric Corp | Audio visual teaching system |
US3594919A (en) * | 1969-09-23 | 1971-07-27 | Economy Co | Tutoring devices |
US4684349A (en) * | 1984-02-15 | 1987-08-04 | Frank Ferguson | Audio-visual teaching system and method |
US4776016A (en) * | 1985-11-21 | 1988-10-04 | Position Orientation Systems, Inc. | Voice control system |
US4853952A (en) * | 1987-12-03 | 1989-08-01 | Dictaphone Corporation | Method and apparatus for visual indication of stored voice signals |
US4916726A (en) * | 1988-09-29 | 1990-04-10 | American Tel-A-System, Inc. | Telephone answering service with integrated voice and textual message storage |
US5100329A (en) * | 1990-06-22 | 1992-03-31 | Deesen Kenneth C | Computer assisted coaching method |
US5110329A (en) * | 1989-07-01 | 1992-05-05 | Beteiligungen Sorg Gmbh & Co. Kg | Filtering device for dust and exhaust gases of glass melting furnaces containing sulfurous compounds |
US5199062A (en) * | 1988-01-20 | 1993-03-30 | Phone Base Systems Inc. | Telephone communications system including a digital telephone switch, a voice response unit and a stored program sequence for controlling both the switch and the voice response unit |
US5206903A (en) * | 1990-12-26 | 1993-04-27 | At&T Bell Laboratories | Automatic call distribution based on matching required skills with agents skills |
US5228859A (en) * | 1990-09-17 | 1993-07-20 | Interactive Training Technologies | Interactive educational and training system with concurrent digitized sound and video output |
US5239460A (en) * | 1991-01-03 | 1993-08-24 | At&T Bell Laboratories | Arrangement for motivating telemarketing agents |
US5278898A (en) * | 1991-05-30 | 1994-01-11 | Davox Corporation | System for managing a hold queue |
US5299260A (en) * | 1990-11-20 | 1994-03-29 | Unifi Communications Corporation | Telephone call handling system |
US5309505A (en) * | 1991-05-20 | 1994-05-03 | Inventions, Inc. | Automated voice system for improving agent efficiency and improving service to parties on hold |
US5310349A (en) * | 1992-04-30 | 1994-05-10 | Jostens Learning Corporation | Instructional management system |
US5311422A (en) * | 1990-06-28 | 1994-05-10 | The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration | General purpose architecture for intelligent computer-aided training |
US5384841A (en) * | 1993-10-27 | 1995-01-24 | Rockwell International Corporation | Automatic call distribution network with call overload system and method |
US5416694A (en) * | 1994-02-28 | 1995-05-16 | Hughes Training, Inc. | Computer-based data integration and management process for workforce planning and occupational readjustment |
US5499291A (en) * | 1993-01-14 | 1996-03-12 | At&T Corp. | Arrangement for automating call-center agent-schedule-notification and schedule-adherence functions |
US5513308A (en) * | 1992-09-03 | 1996-04-30 | Matsushita Electric Industrial Co., Ltd. | Device and method for determining a series of operations for interactive assistance |
US5533115A (en) * | 1994-01-31 | 1996-07-02 | Bell Communications Research, Inc. | Network-based telephone system providing coordinated voice and data delivery |
US5535256A (en) * | 1993-09-22 | 1996-07-09 | Teknekron Infoswitch Corporation | Method and system for automatically monitoring the performance quality of call center service representatives |
US5594791A (en) * | 1994-10-05 | 1997-01-14 | Inventions, Inc. | Method and apparatus for providing result-oriented customer service |
US5597312A (en) * | 1994-05-04 | 1997-01-28 | U S West Technologies, Inc. | Intelligent tutoring method and system |
US5633924A (en) * | 1993-09-30 | 1997-05-27 | Lucent Technologies Inc. | Telecommunication network with integrated network-wide automatic call distribution |
US5659768A (en) * | 1993-01-06 | 1997-08-19 | Forbes; Kenneth S. | System and method for the time representation of tasks |
US5718527A (en) * | 1994-10-28 | 1998-02-17 | Fujitsu Limited | Paper delivery system |
US5721770A (en) * | 1996-07-02 | 1998-02-24 | Lucent Technologies Inc. | Agent vectoring programmably conditionally assigning agents to various tasks including tasks other than handling of waiting calls |
US5727950A (en) * | 1996-05-22 | 1998-03-17 | Netsage Corporation | Agent based instruction system and method |
US5745109A (en) * | 1996-04-30 | 1998-04-28 | Sony Corporation | Menu display interface with miniature windows corresponding to each page |
US5757644A (en) * | 1996-07-25 | 1998-05-26 | Eis International, Inc. | Voice interactive call center training method using actual screens and screen logic |
US5790798A (en) * | 1996-05-31 | 1998-08-04 | Witness Systems, Inc. | Method and apparatus for simultaneously monitoring computer user screen and telephone activity from a remote location |
US5861881A (en) * | 1991-11-25 | 1999-01-19 | Actv, Inc. | Interactive computer system for providing an interactive presentation with personalized video, audio and graphics responses for multiple viewers |
US5877954A (en) * | 1996-05-03 | 1999-03-02 | Aspen Technology, Inc. | Hybrid linear-neural network process control |
US5903641A (en) * | 1997-01-28 | 1999-05-11 | Lucent Technologies Inc. | Automatic dynamic changing of agents' call-handling assignments |
US5904485A (en) * | 1994-03-24 | 1999-05-18 | Ncr Corporation | Automated lesson selection and examination in computer-assisted education |
US5911134A (en) * | 1990-10-12 | 1999-06-08 | Iex Corporation | Method for planning, scheduling and managing personnel |
US5914951A (en) * | 1996-04-16 | 1999-06-22 | At&T Corp | System and method for controlling and monitoring communication between customers and customer service representatives |
US5915973A (en) * | 1997-03-11 | 1999-06-29 | Sylvan Learning Systems, Inc. | System for administration of remotely-proctored, secure examinations and methods therefor |
US5937037A (en) * | 1998-01-28 | 1999-08-10 | Broadpoint Communications, Inc. | Communications system for delivering promotional messages |
US5943416A (en) * | 1998-02-17 | 1999-08-24 | Genesys Telecommunications Laboratories, Inc. | Automated survey control routine in a call center environment |
US5946387A (en) * | 1997-02-10 | 1999-08-31 | Genesys Telecommunications Laboratories, Inc, | Agent-level network call routing |
US5946375A (en) * | 1993-09-22 | 1999-08-31 | Teknekron Infoswitch Corporation | Method and system for monitoring call center service representatives |
US5947747A (en) * | 1996-05-09 | 1999-09-07 | Walker Asset Management Limited Partnership | Method and apparatus for computer-based educational testing |
US5957659A (en) * | 1996-07-03 | 1999-09-28 | Matsushita Electric Industrial Co., Ltd. | Heat sink apparatus |
US6014134A (en) * | 1996-08-23 | 2000-01-11 | U S West, Inc. | Network-based intelligent tutoring system |
US6038544A (en) * | 1998-02-26 | 2000-03-14 | Teknekron Infoswitch Corporation | System and method for determining the performance of a user responding to a call |
US6039575A (en) * | 1996-10-24 | 2000-03-21 | National Education Corporation | Interactive learning system with pretest |
US6044368A (en) * | 1998-04-30 | 2000-03-28 | Genesys Telecommunications Laboratories, Inc. | Method and apparatus for multiple agent commitment tracking and notification |
US6044355A (en) * | 1997-07-09 | 2000-03-28 | Iex Corporation | Skills-based scheduling for telephone call centers |
US6052460A (en) * | 1997-12-17 | 2000-04-18 | Lucent Technologies Inc. | Arrangement for equalizing levels of service among skills |
US6067538A (en) * | 1998-12-22 | 2000-05-23 | Ac Properties B.V. | System, method and article of manufacture for a simulation enabled focused feedback tutorial system |
US6067537A (en) * | 1998-12-22 | 2000-05-23 | Ac Properties B.V. | System, method and article of manufacture for a goal based educational system with support for dynamic personality feedback |
US6070142A (en) * | 1998-04-17 | 2000-05-30 | Andersen Consulting Llp | Virtual customer sales and service center and method |
US6073127A (en) * | 1998-12-22 | 2000-06-06 | Ac Properties B.V. | System, method and article of manufacture for a goal based system with dynamic feedback information |
US6078894A (en) * | 1997-03-28 | 2000-06-20 | Clawson; Jeffrey J. | Method and system for evaluating the performance of emergency medical dispatchers |
US6086381A (en) * | 1995-06-07 | 2000-07-11 | Learnstar, Inc. | Interactive learning system |
US6108687A (en) * | 1998-03-02 | 2000-08-22 | Hewlett Packard Company | System and method for providing a synchronized display to a plurality of computers over a global computer network |
US6119097A (en) * | 1997-11-26 | 2000-09-12 | Executing The Numbers, Inc. | System and method for quantification of human performance factors |
US6118973A (en) * | 1996-03-19 | 2000-09-12 | Ho; Chi Fai | Methods and apparatus to assess and enhance a student's understanding in a subject |
US6170014B1 (en) * | 1998-03-25 | 2001-01-02 | Community Learning And Information Network | Computer architecture for managing courseware in a shared use operating environment |
US6171109B1 (en) * | 1997-06-18 | 2001-01-09 | Adin Research, Inc. | Method for generating a multi-strata model and an intellectual information processing device |
US6192122B1 (en) * | 1998-02-12 | 2001-02-20 | Avaya Technology Corp. | Call center agent selection that optimizes call wait times |
US6211451B1 (en) * | 1998-01-29 | 2001-04-03 | Yamaha Corporation | Music lesson system with local training terminal and remote supervisory station |
US6215865B1 (en) * | 1996-06-10 | 2001-04-10 | E-Talk Corporation | System, method and user interface for data announced call transfer |
US6263049B1 (en) * | 1996-10-10 | 2001-07-17 | Envision Telephony, Inc. | Non-random call center supervisory method and apparatus |
US6275812B1 (en) * | 1998-12-08 | 2001-08-14 | Lucent Technologies, Inc. | Intelligent system for dynamic resource management |
US6278777B1 (en) * | 1998-03-12 | 2001-08-21 | Ser Solutions, Inc. | System for managing agent assignments background of the invention |
US6278978B1 (en) * | 1998-04-07 | 2001-08-21 | Blue Pumpkin Software, Inc. | Agent scheduling system and method having improved post-processing step |
US6289340B1 (en) * | 1999-08-03 | 2001-09-11 | Ixmatch, Inc. | Consultant matching system and method for selecting candidates from a candidate pool by adjusting skill values |
US6340977B1 (en) * | 1999-05-07 | 2002-01-22 | Philip Lui | System and method for dynamic assistance in software applications using behavior and host application models |
US6347139B1 (en) * | 1999-12-06 | 2002-02-12 | Avaya Technology Corp. | System for automatically routing calls to call center agents in an agent surplus condition based on agent occupancy |
US6356632B1 (en) * | 1998-12-31 | 2002-03-12 | Avaya Technology Corp. | Call selection and agent selection in a call center based on agent staffing schedule |
US6359982B1 (en) * | 1999-01-12 | 2002-03-19 | Avaya Technologies Corp. | Methods and apparatus for determining measures of agent-related occupancy in a call center |
US6371765B1 (en) * | 1999-11-09 | 2002-04-16 | Mciworldcom, Inc. | Interactive computer-based training system and method |
US6408066B1 (en) * | 1999-12-15 | 2002-06-18 | Lucent Technologies Inc. | ACD skill-based routing |
US6408064B1 (en) * | 1998-02-20 | 2002-06-18 | Genesys Telecommunications Laboratories, Inc. | Method and apparatus for enabling full interactive monitoring of calls to and from a call-in center |
US6453038B1 (en) * | 1998-06-03 | 2002-09-17 | Avaya Technology Corp. | System for integrating agent database access skills in call center agent assignment applications |
US6510221B1 (en) * | 1999-12-06 | 2003-01-21 | Avaya Technology Corp. | System for automatically routing calls to call center agents in an agent surplus condition based on delay probabilities |
US20030033184A1 (en) * | 2000-10-03 | 2003-02-13 | Moshe Benbassat | Method and system for assigning human resources to provide services |
US6535600B1 (en) * | 1999-12-06 | 2003-03-18 | Avaya Technology Corp. | System for automatically routing calls to call center agents in an agent surplus condition based on service levels |
US6553114B1 (en) * | 1999-12-06 | 2003-04-22 | Avaya Technology Corp. | System for automatically predicting call center agent work time in a multi-skilled agent environment |
US6559867B1 (en) * | 1999-11-24 | 2003-05-06 | The United States Of America As Represented By The Secretary Of The Navy | Configuration system for networked training modules and associated methods |
US6584192B1 (en) * | 1999-12-06 | 2003-06-24 | Genesys Telecommunications Laboratories, Inc. | Method and apparatus for skills-based task routing |
US6603854B1 (en) * | 2000-02-25 | 2003-08-05 | Teltronics, Inc. | System and method for evaluating agents in call center |
US6771764B1 (en) * | 2000-01-26 | 2004-08-03 | Rockwell Electronic Commerce Corp. | Schedule based transaction routing |
US6771765B1 (en) * | 1999-12-29 | 2004-08-03 | Nortel Networks Limited | Multimedia queuing in a customer contact or call center |
US6775377B2 (en) * | 2001-09-10 | 2004-08-10 | Knowlagent, Inc. | Method and system for delivery of individualized training to call center agents |
US6856680B2 (en) * | 2001-09-24 | 2005-02-15 | Rockwell Electronic Commerce Technologies, Llc | Contact center autopilot algorithms |
US6865267B2 (en) * | 2001-11-27 | 2005-03-08 | Rockwell Electronic Commerce Corp. | Method and system for routing transactions in an automatic call distribution system based on non-voice dialog agent skill set |
US7043193B1 (en) * | 2000-05-09 | 2006-05-09 | Knowlagent, Inc. | Versatile resource computer-based training system |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3705271A (en) | 1971-03-26 | 1972-12-05 | Economy Co | Audio tutoring device including recording capability |
US5259024A (en) | 1988-09-29 | 1993-11-02 | America Tel-A-System, Inc. | Telephone answering service with integrated voice and textual message storage |
US5058008A (en) | 1989-10-03 | 1991-10-15 | Pitney Bowes Inc. | Mail system with personalized training for users |
JPH07110831A (en) | 1992-08-11 | 1995-04-25 | Rockwell Internatl Corp | Strict observance system of schedule |
US5590188A (en) | 1992-11-09 | 1996-12-31 | Iex Corporation | Rules-based call routing |
US5583965A (en) | 1994-09-12 | 1996-12-10 | Sony Corporation | Methods and apparatus for training and operating voice recognition systems |
CA2173304C (en) | 1995-04-21 | 2003-04-29 | Anthony J. Dezonno | Method and system for establishing voice communications using a computer network |
DE69636239T2 (en) | 1995-04-24 | 2007-05-10 | International Business Machines Corp. | A method and apparatus for skill-based routing in a call center |
US5675637A (en) | 1995-05-16 | 1997-10-07 | Inventions, Inc. | Method for automatically obtaining and presenting data from multiple data sources |
US5703943A (en) | 1995-10-16 | 1997-12-30 | Lucent Technologies, Inc. | Completion of calls to a preferred agent in an automatic call distributor |
US5833468A (en) | 1996-01-24 | 1998-11-10 | Frederick R. Guy | Remote learning system using a television signal and a network connection |
US5971271A (en) | 1996-07-01 | 1999-10-26 | Mirage Resorts, Incorporated | Gaming device communications and service system |
US5738527A (en) | 1996-08-08 | 1998-04-14 | Lundberg; Steven W. | Screen saver |
US5827071A (en) | 1996-08-26 | 1998-10-27 | Sorensen; Steven Michael | Method, computer program product, and system for teaching or reinforcing information without requiring user initiation of a learning sequence |
KR100462691B1 (en) | 1996-09-25 | 2004-12-20 | 에듀케이트, 인코포레이티드 | Automated Testing and Electroic Instructional Delivery and Student Management System |
US6301573B1 (en) | 1997-03-21 | 2001-10-09 | Knowlagent, Inc. | Recurrent training system |
US6141528A (en) * | 1997-09-23 | 2000-10-31 | Sony Corporation | Learning system with roster files |
US6173053B1 (en) | 1998-04-09 | 2001-01-09 | Avaya Technology Corp. | Optimizing call-center performance by using predictive data to distribute calls among agents |
US6128380A (en) | 1998-08-24 | 2000-10-03 | Siemens Information And Communication, Networks, Inc. | Automatic call distribution and training system |
US6155840A (en) * | 1998-09-18 | 2000-12-05 | At Home Corporation | System and method for distributed learning |
US6149441A (en) * | 1998-11-06 | 2000-11-21 | Technology For Connecticut, Inc. | Computer-based educational system |
US6134539A (en) | 1998-12-22 | 2000-10-17 | Ac Properties B.V. | System, method and article of manufacture for a goal based education and reporting system |
US6628777B1 (en) | 1999-11-16 | 2003-09-30 | Knowlagent, Inc. | Method and system for scheduled delivery of training to call center agents |
US6324282B1 (en) | 2000-03-02 | 2001-11-27 | Knowlagent, Inc. | Method and system for delivery of individualized training to call center agents |
-
2000
- 2000-08-15 US US09/638,771 patent/US7043193B1/en not_active Expired - Fee Related
-
2005
- 2005-11-09 US US11/270,869 patent/US20060057551A1/en not_active Abandoned
Patent Citations (100)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3245157A (en) * | 1963-10-04 | 1966-04-12 | Westinghouse Electric Corp | Audio visual teaching system |
US3594919A (en) * | 1969-09-23 | 1971-07-27 | Economy Co | Tutoring devices |
US4684349A (en) * | 1984-02-15 | 1987-08-04 | Frank Ferguson | Audio-visual teaching system and method |
US4776016A (en) * | 1985-11-21 | 1988-10-04 | Position Orientation Systems, Inc. | Voice control system |
US4853952A (en) * | 1987-12-03 | 1989-08-01 | Dictaphone Corporation | Method and apparatus for visual indication of stored voice signals |
US5199062A (en) * | 1988-01-20 | 1993-03-30 | Phone Base Systems Inc. | Telephone communications system including a digital telephone switch, a voice response unit and a stored program sequence for controlling both the switch and the voice response unit |
US4916726B1 (en) * | 1988-09-29 | 1992-06-09 | American Tel A Systems Inc | |
US4916726A (en) * | 1988-09-29 | 1990-04-10 | American Tel-A-System, Inc. | Telephone answering service with integrated voice and textual message storage |
US5110329A (en) * | 1989-07-01 | 1992-05-05 | Beteiligungen Sorg Gmbh & Co. Kg | Filtering device for dust and exhaust gases of glass melting furnaces containing sulfurous compounds |
US5100329A (en) * | 1990-06-22 | 1992-03-31 | Deesen Kenneth C | Computer assisted coaching method |
US5311422A (en) * | 1990-06-28 | 1994-05-10 | The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration | General purpose architecture for intelligent computer-aided training |
US5228859A (en) * | 1990-09-17 | 1993-07-20 | Interactive Training Technologies | Interactive educational and training system with concurrent digitized sound and video output |
US5911134A (en) * | 1990-10-12 | 1999-06-08 | Iex Corporation | Method for planning, scheduling and managing personnel |
US5299260A (en) * | 1990-11-20 | 1994-03-29 | Unifi Communications Corporation | Telephone call handling system |
US5206903A (en) * | 1990-12-26 | 1993-04-27 | At&T Bell Laboratories | Automatic call distribution based on matching required skills with agents skills |
US5239460A (en) * | 1991-01-03 | 1993-08-24 | At&T Bell Laboratories | Arrangement for motivating telemarketing agents |
US5309505A (en) * | 1991-05-20 | 1994-05-03 | Inventions, Inc. | Automated voice system for improving agent efficiency and improving service to parties on hold |
US5511112A (en) * | 1991-05-20 | 1996-04-23 | Inventions, Inc. | Automated voice system for improving agent efficiency and improving service to parties on hold |
US5278898A (en) * | 1991-05-30 | 1994-01-11 | Davox Corporation | System for managing a hold queue |
US5861881A (en) * | 1991-11-25 | 1999-01-19 | Actv, Inc. | Interactive computer system for providing an interactive presentation with personalized video, audio and graphics responses for multiple viewers |
US5310349A (en) * | 1992-04-30 | 1994-05-10 | Jostens Learning Corporation | Instructional management system |
US5513308A (en) * | 1992-09-03 | 1996-04-30 | Matsushita Electric Industrial Co., Ltd. | Device and method for determining a series of operations for interactive assistance |
US5659768A (en) * | 1993-01-06 | 1997-08-19 | Forbes; Kenneth S. | System and method for the time representation of tasks |
US5499291A (en) * | 1993-01-14 | 1996-03-12 | At&T Corp. | Arrangement for automating call-center agent-schedule-notification and schedule-adherence functions |
US5535256A (en) * | 1993-09-22 | 1996-07-09 | Teknekron Infoswitch Corporation | Method and system for automatically monitoring the performance quality of call center service representatives |
US5946375A (en) * | 1993-09-22 | 1999-08-31 | Teknekron Infoswitch Corporation | Method and system for monitoring call center service representatives |
US6058163A (en) * | 1993-09-22 | 2000-05-02 | Teknekron Infoswitch Corporation | Method and system for monitoring call center service representatives |
US5633924A (en) * | 1993-09-30 | 1997-05-27 | Lucent Technologies Inc. | Telecommunication network with integrated network-wide automatic call distribution |
US5384841A (en) * | 1993-10-27 | 1995-01-24 | Rockwell International Corporation | Automatic call distribution network with call overload system and method |
US5533115A (en) * | 1994-01-31 | 1996-07-02 | Bell Communications Research, Inc. | Network-based telephone system providing coordinated voice and data delivery |
US5416694A (en) * | 1994-02-28 | 1995-05-16 | Hughes Training, Inc. | Computer-based data integration and management process for workforce planning and occupational readjustment |
US5904485A (en) * | 1994-03-24 | 1999-05-18 | Ncr Corporation | Automated lesson selection and examination in computer-assisted education |
US5597312A (en) * | 1994-05-04 | 1997-01-28 | U S West Technologies, Inc. | Intelligent tutoring method and system |
US5594791A (en) * | 1994-10-05 | 1997-01-14 | Inventions, Inc. | Method and apparatus for providing result-oriented customer service |
US5718527A (en) * | 1994-10-28 | 1998-02-17 | Fujitsu Limited | Paper delivery system |
US6086381A (en) * | 1995-06-07 | 2000-07-11 | Learnstar, Inc. | Interactive learning system |
US6118973A (en) * | 1996-03-19 | 2000-09-12 | Ho; Chi Fai | Methods and apparatus to assess and enhance a student's understanding in a subject |
US5914951A (en) * | 1996-04-16 | 1999-06-22 | At&T Corp | System and method for controlling and monitoring communication between customers and customer service representatives |
US5745109A (en) * | 1996-04-30 | 1998-04-28 | Sony Corporation | Menu display interface with miniature windows corresponding to each page |
US5877954A (en) * | 1996-05-03 | 1999-03-02 | Aspen Technology, Inc. | Hybrid linear-neural network process control |
US5947747A (en) * | 1996-05-09 | 1999-09-07 | Walker Asset Management Limited Partnership | Method and apparatus for computer-based educational testing |
US5727950A (en) * | 1996-05-22 | 1998-03-17 | Netsage Corporation | Agent based instruction system and method |
US6201948B1 (en) * | 1996-05-22 | 2001-03-13 | Netsage Corporation | Agent based instruction system and method |
US5790798A (en) * | 1996-05-31 | 1998-08-04 | Witness Systems, Inc. | Method and apparatus for simultaneously monitoring computer user screen and telephone activity from a remote location |
US6215865B1 (en) * | 1996-06-10 | 2001-04-10 | E-Talk Corporation | System, method and user interface for data announced call transfer |
US5721770A (en) * | 1996-07-02 | 1998-02-24 | Lucent Technologies Inc. | Agent vectoring programmably conditionally assigning agents to various tasks including tasks other than handling of waiting calls |
US5957659A (en) * | 1996-07-03 | 1999-09-28 | Matsushita Electric Industrial Co., Ltd. | Heat sink apparatus |
US5757644A (en) * | 1996-07-25 | 1998-05-26 | Eis International, Inc. | Voice interactive call center training method using actual screens and screen logic |
US6014134A (en) * | 1996-08-23 | 2000-01-11 | U S West, Inc. | Network-based intelligent tutoring system |
US6263049B1 (en) * | 1996-10-10 | 2001-07-17 | Envision Telephony, Inc. | Non-random call center supervisory method and apparatus |
US6039575A (en) * | 1996-10-24 | 2000-03-21 | National Education Corporation | Interactive learning system with pretest |
US5903641A (en) * | 1997-01-28 | 1999-05-11 | Lucent Technologies Inc. | Automatic dynamic changing of agents' call-handling assignments |
US5946387A (en) * | 1997-02-10 | 1999-08-31 | Genesys Telecommunications Laboratories, Inc, | Agent-level network call routing |
US5915973A (en) * | 1997-03-11 | 1999-06-29 | Sylvan Learning Systems, Inc. | System for administration of remotely-proctored, secure examinations and methods therefor |
US6078894A (en) * | 1997-03-28 | 2000-06-20 | Clawson; Jeffrey J. | Method and system for evaluating the performance of emergency medical dispatchers |
US6171109B1 (en) * | 1997-06-18 | 2001-01-09 | Adin Research, Inc. | Method for generating a multi-strata model and an intellectual information processing device |
US6044355A (en) * | 1997-07-09 | 2000-03-28 | Iex Corporation | Skills-based scheduling for telephone call centers |
US6119097A (en) * | 1997-11-26 | 2000-09-12 | Executing The Numbers, Inc. | System and method for quantification of human performance factors |
US6052460A (en) * | 1997-12-17 | 2000-04-18 | Lucent Technologies Inc. | Arrangement for equalizing levels of service among skills |
US5937037A (en) * | 1998-01-28 | 1999-08-10 | Broadpoint Communications, Inc. | Communications system for delivering promotional messages |
US6211451B1 (en) * | 1998-01-29 | 2001-04-03 | Yamaha Corporation | Music lesson system with local training terminal and remote supervisory station |
US6192122B1 (en) * | 1998-02-12 | 2001-02-20 | Avaya Technology Corp. | Call center agent selection that optimizes call wait times |
US6118865A (en) * | 1998-02-17 | 2000-09-12 | Genesys Telecommunications Laboratories, Inc. | Automated survey control routine in a call center environment |
US5943416A (en) * | 1998-02-17 | 1999-08-24 | Genesys Telecommunications Laboratories, Inc. | Automated survey control routine in a call center environment |
US6408064B1 (en) * | 1998-02-20 | 2002-06-18 | Genesys Telecommunications Laboratories, Inc. | Method and apparatus for enabling full interactive monitoring of calls to and from a call-in center |
US6038544A (en) * | 1998-02-26 | 2000-03-14 | Teknekron Infoswitch Corporation | System and method for determining the performance of a user responding to a call |
US6108687A (en) * | 1998-03-02 | 2000-08-22 | Hewlett Packard Company | System and method for providing a synchronized display to a plurality of computers over a global computer network |
US6278777B1 (en) * | 1998-03-12 | 2001-08-21 | Ser Solutions, Inc. | System for managing agent assignments background of the invention |
US6170014B1 (en) * | 1998-03-25 | 2001-01-02 | Community Learning And Information Network | Computer architecture for managing courseware in a shared use operating environment |
US6278978B1 (en) * | 1998-04-07 | 2001-08-21 | Blue Pumpkin Software, Inc. | Agent scheduling system and method having improved post-processing step |
US6070142A (en) * | 1998-04-17 | 2000-05-30 | Andersen Consulting Llp | Virtual customer sales and service center and method |
US6044368A (en) * | 1998-04-30 | 2000-03-28 | Genesys Telecommunications Laboratories, Inc. | Method and apparatus for multiple agent commitment tracking and notification |
US6704410B1 (en) * | 1998-06-03 | 2004-03-09 | Avaya Inc. | System for automatically assigning skill levels to multiple skilled agents in call center agent assignment applications |
US6690788B1 (en) * | 1998-06-03 | 2004-02-10 | Avaya Inc. | Integrated work management engine for customer care in a communication system |
US6453038B1 (en) * | 1998-06-03 | 2002-09-17 | Avaya Technology Corp. | System for integrating agent database access skills in call center agent assignment applications |
US6275812B1 (en) * | 1998-12-08 | 2001-08-14 | Lucent Technologies, Inc. | Intelligent system for dynamic resource management |
US6073127A (en) * | 1998-12-22 | 2000-06-06 | Ac Properties B.V. | System, method and article of manufacture for a goal based system with dynamic feedback information |
US6067538A (en) * | 1998-12-22 | 2000-05-23 | Ac Properties B.V. | System, method and article of manufacture for a simulation enabled focused feedback tutorial system |
US6067537A (en) * | 1998-12-22 | 2000-05-23 | Ac Properties B.V. | System, method and article of manufacture for a goal based educational system with support for dynamic personality feedback |
US6356632B1 (en) * | 1998-12-31 | 2002-03-12 | Avaya Technology Corp. | Call selection and agent selection in a call center based on agent staffing schedule |
US6359982B1 (en) * | 1999-01-12 | 2002-03-19 | Avaya Technologies Corp. | Methods and apparatus for determining measures of agent-related occupancy in a call center |
US6340977B1 (en) * | 1999-05-07 | 2002-01-22 | Philip Lui | System and method for dynamic assistance in software applications using behavior and host application models |
US20020118220A1 (en) * | 1999-05-07 | 2002-08-29 | Philip Lui | System and method for dynamic assistance in software applications using behavior and host application models |
US6289340B1 (en) * | 1999-08-03 | 2001-09-11 | Ixmatch, Inc. | Consultant matching system and method for selecting candidates from a candidate pool by adjusting skill values |
US6371765B1 (en) * | 1999-11-09 | 2002-04-16 | Mciworldcom, Inc. | Interactive computer-based training system and method |
US6559867B1 (en) * | 1999-11-24 | 2003-05-06 | The United States Of America As Represented By The Secretary Of The Navy | Configuration system for networked training modules and associated methods |
US6510221B1 (en) * | 1999-12-06 | 2003-01-21 | Avaya Technology Corp. | System for automatically routing calls to call center agents in an agent surplus condition based on delay probabilities |
US6535600B1 (en) * | 1999-12-06 | 2003-03-18 | Avaya Technology Corp. | System for automatically routing calls to call center agents in an agent surplus condition based on service levels |
US6553114B1 (en) * | 1999-12-06 | 2003-04-22 | Avaya Technology Corp. | System for automatically predicting call center agent work time in a multi-skilled agent environment |
US6347139B1 (en) * | 1999-12-06 | 2002-02-12 | Avaya Technology Corp. | System for automatically routing calls to call center agents in an agent surplus condition based on agent occupancy |
US6584192B1 (en) * | 1999-12-06 | 2003-06-24 | Genesys Telecommunications Laboratories, Inc. | Method and apparatus for skills-based task routing |
US6408066B1 (en) * | 1999-12-15 | 2002-06-18 | Lucent Technologies Inc. | ACD skill-based routing |
US6771765B1 (en) * | 1999-12-29 | 2004-08-03 | Nortel Networks Limited | Multimedia queuing in a customer contact or call center |
US6771764B1 (en) * | 2000-01-26 | 2004-08-03 | Rockwell Electronic Commerce Corp. | Schedule based transaction routing |
US6603854B1 (en) * | 2000-02-25 | 2003-08-05 | Teltronics, Inc. | System and method for evaluating agents in call center |
US7043193B1 (en) * | 2000-05-09 | 2006-05-09 | Knowlagent, Inc. | Versatile resource computer-based training system |
US20030033184A1 (en) * | 2000-10-03 | 2003-02-13 | Moshe Benbassat | Method and system for assigning human resources to provide services |
US6775377B2 (en) * | 2001-09-10 | 2004-08-10 | Knowlagent, Inc. | Method and system for delivery of individualized training to call center agents |
US6856680B2 (en) * | 2001-09-24 | 2005-02-15 | Rockwell Electronic Commerce Technologies, Llc | Contact center autopilot algorithms |
US6865267B2 (en) * | 2001-11-27 | 2005-03-08 | Rockwell Electronic Commerce Corp. | Method and system for routing transactions in an automatic call distribution system based on non-voice dialog agent skill set |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2462982A (en) * | 2007-06-07 | 2010-03-03 | Monarch Teaching Technologies | System and method for generating customized visually based lessons |
US20100167255A1 (en) * | 2007-06-07 | 2010-07-01 | Howard Shane | System and method for generating customized visually-based lessons |
WO2008154487A1 (en) * | 2007-06-07 | 2008-12-18 | Monarch Teaching Technologies, Inc. | System and method for generating customized visually-based lessons |
US8346731B1 (en) * | 2007-09-28 | 2013-01-01 | Symantec Corporation | Techniques for global single instance indexing for backup data |
US20120115123A1 (en) * | 2010-11-09 | 2012-05-10 | Dana Alan Koch | Providing learning tools |
US20130219132A1 (en) * | 2012-02-20 | 2013-08-22 | Tohoku University | Storage medium storing information processing program, information processing apparatus, information processing method, and information processing system |
US10096257B2 (en) * | 2012-04-05 | 2018-10-09 | Nintendo Co., Ltd. | Storage medium storing information processing program, information processing device, information processing method, and information processing system |
US20130266920A1 (en) * | 2012-04-05 | 2013-10-10 | Tohoku University | Storage medium storing information processing program, information processing device, information processing method, and information processing system |
US20140078137A1 (en) * | 2012-09-14 | 2014-03-20 | Nagabhushanam Peddi | Augmented reality system indexed in three dimensions |
US20150339942A1 (en) * | 2013-02-19 | 2015-11-26 | Smart Sparrow Pty Ltd. | Computer-Implemented Frameworks and Methodologies for Generating, Delivering and Managing Adaptive Tutorials |
US20190146815A1 (en) * | 2014-01-16 | 2019-05-16 | Symmpl, Inc. | System and method of guiding a user in utilizing functions and features of a computer based device |
US10846112B2 (en) * | 2014-01-16 | 2020-11-24 | Symmpl, Inc. | System and method of guiding a user in utilizing functions and features of a computer based device |
US20170116880A1 (en) * | 2015-10-23 | 2017-04-27 | Geetha Srikantan | Integrated and interactive multi-modal framework for speech therapy |
US20170287349A1 (en) * | 2016-03-31 | 2017-10-05 | Cae Inc. | Method and system for updating a simulation plan for training personnel on system maintenance |
US20220130268A1 (en) * | 2020-10-23 | 2022-04-28 | Pearson Education, Inc. | Plugin system and pathway architecture |
US11657728B2 (en) * | 2020-10-23 | 2023-05-23 | Pearson Education, Inc. | Plugin system and pathway architecture |
US20230245580A1 (en) * | 2020-10-23 | 2023-08-03 | Pearson Education, Inc. | Plugin system and pathway architecture |
Also Published As
Publication number | Publication date |
---|---|
US7043193B1 (en) | 2006-05-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7043193B1 (en) | Versatile resource computer-based training system | |
US6914975B2 (en) | Interactive dialog-based training method | |
CA2485150C (en) | Telecommunications virtual simulator | |
US5909589A (en) | Internet based training | |
US8332231B2 (en) | Apparatus and method for processing service interactions | |
AU2006301793B2 (en) | Computer-aided method and system for guided teaching and learning | |
JP2003514257A (en) | Method and apparatus for language training | |
US8068598B1 (en) | Automatic agent training system | |
US20040014017A1 (en) | Effective and efficient learning (EEL) system | |
US20040191744A1 (en) | Electronic training systems and methods | |
US20040166484A1 (en) | System and method for simulating training scenarios | |
CN111541947A (en) | Teaching video processing method, device and system | |
CN109816571A (en) | Cloud-end frame in online lecture system based on teaching notes dictation library and pseudo- student | |
Young | The effective deployment of e‐learning | |
CN112954257B (en) | Automatic verification method and system for video conference | |
Munteanu et al. | MDWOZ: A Wizard of Oz Environment for Dialog Systems Development. | |
KR100392147B1 (en) | A communications network system and client system for teaching and test in english | |
CN116030788B (en) | Intelligent voice interaction method and device | |
WO1996005685A1 (en) | System and method for scripting | |
CN110889787A (en) | Music teaching auxiliary system | |
US20030232245A1 (en) | Interactive training software | |
CN109547632A (en) | Assisted call answer method, user terminal apparatus and server | |
KR100613899B1 (en) | Method and system for managing learning progress using various communication media | |
Shin et al. | Simple and powerful interactive e-learning system using VXML: Design and implementation of web and PSTN linked efficient learning system | |
JP2003107982A (en) | Method and system for providing teaching material |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |