Abstract:
A main computer runs a primary program performing an ongoing task, the primary program being optimized for performance on a desktop computer. A computerized device remote from the main computer runs an adjunct program which is a modified version of the primary program and is optimized for performance in a hands free mode. Communication means provides communication between the main computer and computerized device, and the main computer and computerized device interact through the communication means so that each influences the operation of the other.

Description:
BACKGROUND OF THE INVENTION 
       [0001]    The present invention relates generally to the performance of computerized tasks and, more particularly, concerns a method and system for performing an ongoing computerized task with different computerized devices. 
         [0002]    As used herein, the term “computerized device” will be understood to include not only an actual computer, such as a personal computer, but also a pocket computer, a personal digital assistant, a smart telephone, or any other device with computing capability. 
         [0003]    For convenience, the present invention will be disclosed in the context of a computerized teaching system. This is merely a vehicle for illustrating the invention, without the intent of limiting it. 
         [0004]    There are many times during a busy day when it may be possible to perform computerized tasks. For example, it is not uncommon to multitask while driving by carrying on voice communications or listening to the playback of recorded memos, e-mails, or the like. Similarly, it would be desirable for student learning a language to take advantage of such time. However, it must be done without distracting him from driving, and it must be entirely hands-free. 
         [0005]    In accordance with one aspect of the present invention, a main computer runs a primary program performing an ongoing task, the primary program being optimized for performance on a desktop computer. A computerized device remote from the main computer runs an adjunct program which is a modified version of the primary program and is optimized for performance in a hands free mode. Communication means provides communication between the main computer and computerized device, and the main computer and computerized device interact through the communication means so that each influences the operation of the other. 
         [0006]    In a preferred embodiment, the primary program is a language teaching program performing an ongoing task which is a language teaching lesson, the main computer having stored data related to the lesson and result information related to a student&#39;s progress in the lesson. The main computer interacts with the remote computerized device to have it perform hands free tasks related to the student&#39;s performance, the remote computerized device interacts with the main computer to report the results of hands free tasks, and the main computer updates its result information based on results reported from the remote computerized device. 
         [0007]    The foregoing technique optimizes hands free tasks on the remote computerized device, based upon performance by the student on the main computer, and vice versa. This allows lesson plans and tasks to be adapted on each device based upon performance on another device. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0008]    The foregoing brief description and further objects, features and advantages of the present invention will be understood more completely from the following detailed description of a presciently preferred, but nonetheless illustrative, embodiment in accordance with the present invention, with a reference being had to the accompanying drawings, in which: 
           [0009]      FIG. 1  is a functional block diagram illustrating a teaching system  10  embodying the present invention; and 
           [0010]      FIG. 2  is a flow chart illustrating operations performed by remote interface program  24  of  FIG. 1 . 
       
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT 
       [0011]    Turning now to the drawings,  FIG. 1  is a functional block diagram illustrating a teaching system  10  embodying the present invention. System  10  broadly comprises a main computer  12  and a remote computerized device  14 , preferably handheld, which are linked by a communication connection  16 . Connection  16  may be a simple USB or Bluetooth connection, but it is contemplated that computers  12  and  14  could communicate via the Internet, with either or both being WiFi capable. 
         [0012]    Main computer  12  has a primary program  18  running on it, in this embodiment a language teaching program being used by a student. In the embodiment, main computer  12  is a desktop personal computer. Storage available to main computer  12  contains data  20 , which is all of the information necessary for the teaching program. In addition, storage available to computer  12  contains result information  22 , which is a record of the progress of the language learning student. Main computer  12  contains a variety of teaching applications, the one of which that gets invoked being dependant preferably upon a student&#39;s progress as measured and stored. 
         [0013]    Also running on main computer  12  is a remote interface program  24 , which causes computer  12  and device  14  to interact when primary program  18  is started or shut down by the language student, or at specified periodic intervals, or at some other time. Upon startup of the primary program, remote program  24  updates result information  22  to reflect activity that has been carried on in remote computerized device  14 . Upon shut down of primary program  18 , remote interface program  24  generates remote data  26 , which represents lessons that can be carried on in remote computerized device  14 , as explained in more detail below. The lessons represented by remote data  26  are based upon result information  22  that was generated for the most recent language lessons. Remote interface program  24  causes remote data  26  to be transferred from main computer  12  to remote computerized device  14  via the communications connection  16 . 
         [0014]    Remote computerized device  14  is preferably a handheld device, which a language student can take with him when he leaves the site of main computer  12 . Remote computerized device  14  runs an adjunct program  28 , which is a simplified version of primary program  18 . Storage available to remote computerized device  14  includes data  30 , which is all the information necessary for adjunct program  28 , including the teaching information. In addition, storage available to remote computerized device  14  contains result information  32 , which is a record of the progress the language learning student has made in the teaching program represented by data  30 . 
         [0015]    As described above, remote computerized device  14  has a communications connection  16  to main computer  12  and receives remote data  26  when the language student stops his learning session or at some other time. Remote data  26  is added to and updates data  30 , so that any lessons adjunct program  28  presents to the student will be affected by remote data  26 . The results of those lessons will be stored in result information  32  and will update that information. 
         [0016]    When remote computerized device  14  establishes a communication connection to main computer  14 , the updated result information  32  is transferred to main computer  12  and will result in an update in result information  22 . In many instances, this will result in a change in the next lesson that primary program  18  will present to the student Also, when remote program  24  next generates remote data  26 , it will take into account any progress (or demonstrations of weaknesses) that the student has made in lessons performed on main computer  12  and on remote computerized device  14  (as represented by updated result information  32 , and the next time remote data  26  is generated, it will take into account such progress when creating information for new lessons for adjunct program  28 . Thus, coordination and is always maintained between computer  12  and remote computerized device  14  as to learning activities carried out on the other device. 
         [0017]    As already mentioned, adjunct program  28  is a simplified or limited version of primary program  18 . This is so, not only because remote computerized device  14  is not likely to have the computing power of computer  12 , but also because the language student will only be performing limited tasks on remote computerized device  14 . In practice, for example, if the language student were using remote computerized device  14  while driving it would be undesirable to have him distracted by having to look at a display or to remove a hand from the steering wheel of his vehicle to operate remote computerized device  14 . Therefore, many types of language learning tasks would be unavailable to the student under these circumstances. He could, however, be asked to translate or pronouns words, to recite the missing words in a phrase, to carry on a conversation in a language he is studying, or to respond to a multiple-choice question, all in a hands free manner. This could be achieved with the simple voice recognition engine of the type found in cellular telephones. In cases where the student is expected to pronounce words in a foreign language, he could simply be in the given an indication that his response is incorrect, and the correct pronunciation played back. All of this language practice would be focused on words or concepts which presented some difficult to the student in the primary program. Similarly, since result information  32  will be transferred to main computer  12 , when the student once again uses the primary program, he will continue to receive instruction in problem areas that persist. 
         [0018]      FIG. 2  is a flow chart illustrating operations performed by remote interface program  24 . Two primary functions are performed: transfer of information from remote computerized device  14  to computer  12  upon startup of primary program  18 ; and transfer of information from computer  12  to remote computerized device  14  upon shut down of primary program  18 . 
         [0019]    At block  100 , a test is performed repeatedly to determine whether primary program  18  is starting up (as long as the primary program is not starting up). If it is determined at block  100  that the primary program is starting up, control transfers to block  102 , where computer  12  is caused to read the result information  32  from remote computerized device  14 . At block  104 , computer  12  is caused to update result information  22 , based upon the information received from remote computerized device  14 . Then, control reverts to block  100  to await the next startup of primary program  18 . 
         [0020]    At block  110 , a test is performed repeatedly to determine whether primary program  18  is shutting down (as long as the primary program is not shutting down). If it is determined at block  110  that the primary program is shutting down, control transfers to block  112 , where result information  22  is read with respect to recent learning activity. At block  114 , data is read (from data  20 ) that is relevant to the result information read at block  112 . At block  118 , the information read at blocks  112  and  114  is utilized to create remote data  26 . This is done under the control of set up information  116  for remote computerized device  14 . This information would have been created the first time that remote computerized device  14  was used with main computer  12 . At block  120 , the remote data  26  created at block  118  is sent to remote computerized device  14 . Control then reverts to block  110  to await the next shutdown of primary program  18 . 
         [0021]    The adaptation of learning programs running on remote computerized device  14  may be under the control and instruction of main computer  12 . Alternatively, the processing required to determine how to adapt the lessons on remote computerized device  14  may be performed by remote computerized device  14  itself. Either or both of these processes may preferably implement adaptive techniques set forth in copending U.S. Patent Application No. 12/052,435, entitled “Adaptive Recall” and assigned to the assignee of the present invention. 
         [0022]    It is contemplated that main computer  12  may be used with more than one remote computerized device. Under these circumstances, it would only be necessary for each computerized device to identify itself when communication is established with main computer  12 . Remote interface program  24  would have separate setup information for each computerized device and would utilize that information associated with the computerized device that identified itself to main computer  12 . Moreover, depending upon what type of remote computerized device is at issue, other 
         [0023]    Although the preferred embodiment employs the invention in a language teaching system, the invention finds broad application to performing a computerized task on different computerized devices. For example, suppose an author were writing a report with a word processing program. He runs a spell and grammar check before shutting down his word processor. Making use of the present invention, the results of the spelling and grammar check could be transferred to a handheld computerized device, which the author carries. At his convenience, for example while driving, he could review the results of the spelling and grammar check (e.g. by listening to the computerized device), and he could enter his corrections via a simple voice recognition engine in the computerized device. When the computerized device reconnects with the computer running the word processing program, the author&#39;s corrections are entered in his document. 
         [0024]    In the language learning environment, if the language learning program on the main computer  12  recognizes, for example, that the user is having trouble with two particular different words, a wireless device can present lessons that focus the user on pronouncing those two words. As this exercise involves simply speaking, it is the most proper exercise to do while driving. 
         [0025]    Those skilled in the art will appreciate that, although the remote interface program has been described as separate from the primary program, it could, in practice be a subprogram of the primary program. In the example of the preceding paragraph, the remote interface program could be a module in the word processing program. 
         [0026]    In more sophisticated embodiments, the system can generally optimize the time using each of plural devices via a mechanism for storing usage and capability maps. More specifically, the system may be programmed with data indicative of the general capabilities of each device, such as, full or partial keyboard, optimally used hands free or with a keyboard, screen or audio only, etc. Additionally, either via information entered in advance, or via a data compilation/learning algorithm that keeps track of usage patterns, the system may also optionally maintain information indicative of the usage patterns of a particular user, and the user&#39;s expected time using each device. 
         [0027]    By way of example, the system knows that user A typically uses a handheld device for about an hour a day in the morning, on her drive to work. The handheld device has only an abbreviated keyboard, and it is not really usable because the person is driving during that time. Further, the screen use should be minimized or eliminated so the user is not distracted from driving, with audio prompts and responses dominating any lessons. 
         [0028]    Additionally, the same user may use a desktop PC with a full screen and keyboard for about an hour a day in the evening. During this evening time, the user can fully focus the computer and the lesson, and can input items with a mouse, keyboard, or orally. 
         [0029]    In the above exemplary scenario, the stored information may then be used to adjust the activities to be presented to a user during learning sessions. For example, consider a lesson presented on the PC which may then, toward the end thereof, be reinforced with learning activities that largely involve the student vocalizing phrases stated by the computer to the student. As this activity largely involves audio only, and no keyboard or screen, the system may determine that it should put off this activity until the following morning, and execute it when the user uses the handheld to practice his language skills. This would allow another, more screen and keyboard intensive activity, such as viewing images and giving responses, or practicing typing in the target language being learned, while the user is using the PC. 
         [0030]    As a general rule, the system uses usage patterns and knowledge of the various devices to set up activities that are best done on the particular device it expects the user to use at various times, and based upon what lessons have been done. The system should optimally require the user to enter information about which devices he/she uses, how often per day each might be use, and, if it is not known in advance, the specific capabilities of each such device. The system may also gather device capabilities over a remote connection, or have them prestored in advance. Using the device capabilities, and knowledge of each user&#39;s usage patterns with respect to each device, the system can customize and coordinate lessons among the devices so that each device is optimally utilized. 
         [0031]    Although preferred embodiments of the invention have been disclosed for illustrative purposes, those skilled in the art will appreciate that many additions, modifications, and substitutions are possible without departing from the scope and spirit of the invention as defined by the company claims.