Abstract:
Visual images of computer components are provided to remotely guide users through the process of setting up physical connections. Component identifying information is automatically gleaned and provided from a user&#39;s computer to a remote administrator. The administrator provides visual images of the components to the user, and remotely annotates them to guide the user through the configuration process. Image annotation can include pointing to a specific section of the image (e.g., the plug into which a cable is to be inserted) and/or drawing or writing on or otherwise marking-up the image to direct the user&#39;s attention. The visual image-based guidance can be supplemented by voice communication with the user.

Description:
TECHNICAL FIELD 
     This invention pertains generally to providing remote computing assistance, and more specifically to providing image-based guidance for remote component configuration assistance. 
     BACKGROUND 
     The use of personal computers is extremely widespread today. Yet, many users are not proficient with computer configuration and setup. Many such users need assistance installing new hardware components, or configuring and managing their existing system. Although a more sophisticated user can often easily provide assistance if physically present, the realities of geographical dispersion and time management often require that technical help be provided remotely, for example over the telephone, internet or by email. 
     It is common to give a remote administrator access to a computer system, so that the remote administrator can aid the local user by performing tasks and services such as set-up, configuration and trouble shooting. Typically, a remote administrator logs-in to the local computer over a network, and has administrator level access to the user&#39;s computer while logged-in. Commercial software exists today that supports this type of remote administration. 
     However, a remote administrator is not present at the user site, and thus cannot connect cables, plug-in printers, and otherwise physically configure components for the user. Voice or email guidance directing users through the physical configuration of computer components is often too vague or unfamiliar to the user. For example, instructing a user to “plug that end of the cable into the USB port” does not help a user who does not know what a USB port is. For example, consider an experienced computer expert trying to help his/her mother (over the telephone) to connect her printer to her PC. The conversation would typically sound something like this: 
     Expert: “Okay, now connect your printer to the USB port on your computer with the USB device cable.” 
     Mom: “Connect the what to the what with the what?” 
     Expert: “So, look on the printer and find a little sort-of square looking opening. It&#39;s probably on the back.” 
     Mom: “I think I found it. Now what do I do?” 
     Expert: “Plug in the cable.” 
     Mom: “Which cable? I have several.” 
     And so on. 
     It would be desirable to be able to remotely guide users through computer component configuration in a more effective manner. 
     SUMMARY 
     In a system that provides remote management and administration capability for home computing, visual images of computer components are provided to remotely guide users through the process of setting up physical connections. Component identifying information is automatically gleaned and provided from a user&#39;s computer to a remote administrator. The administrator provides visual images of the components to the user, and remotely annotates them to guide the user through the configuration process. Image annotation can include pointing to a specific section of the image (e.g., the plug into which a cable is to be inserted) and/or drawing or writing on or otherwise marking-up the image to direct the user&#39;s attention. The visual image-based guidance can be supplemented by voice communication with the user. 
     The features and advantages described in this summary and in the following detailed description are not all-inclusive, and particularly, many additional features and advantages will be apparent to one of ordinary skill in the relevant art in view of the drawings, specification, and claims hereof. Moreover, it should be noted that the language used in the specification has been principally selected for readability and instructional purposes, and may not have been selected to delineate or circumscribe the inventive subject matter, resort to the claims being necessary to determine such inventive subject matter. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  is a block diagram illustrating a system in which a remote assistance manager enables robust remote computer component configuration assistance, according to some embodiments of the present invention. 
         FIG. 2  is a block diagram illustrating using a webcam to identify components, according to another embodiment of the present invention. 
         FIG. 3  is a block diagram illustrating a remote assistance manager providing remote configuration assistance for a plurality of components on a user&#39;s home network, according to some embodiment of the present invention. 
     
    
    
     The Figures depict embodiments of the present invention for purposes of illustration only. One skilled in the art will readily recognize from the following discussion that alternative embodiments of the structures and methods illustrated herein may be employed without departing from the principles of the invention described herein. 
     DETAILED DESCRIPTION 
       FIG. 1  illustrates a system  100  in which a remote assistance manager  101  enables robust remote computer component configuration assistance within a remote management and administration context, according to some embodiments of the present invention. It is to be understood that although various components are illustrated in  FIG. 1  as separate entities, each illustrated component represents a collection of functionalities which can be implemented as software, hardware, firmware or any combination of these. Where a component is implemented as software, it can be implemented as a standalone program, but can also be implemented in other ways, for example as part of a larger program, as a plurality of separate programs, as a kernel loadable module, as one or more device drivers or as one or more statically or dynamically linked libraries. 
     As illustrated in  FIG. 1 , a component identification agent  103  running on a user&#39;s  104  computer  105  strongly identifies (e.g., exact make and model number, etc.) the components  106  on the local system  105 , and transmits component identification information  107  to the remote assistance manager  101 . The component identification agent  103  can poll both the operating system  189  running on the user&#39;s  104  computer  105  and/or the components  106  themselves to obtain this information  107 . The implementation mechanics of such polling operations is known to those of ordinary skill in the relevant art, and the usage thereof within the context of embodiments of the present invention will be readily apparent to those of such a skill level in light of this specification. In most instances, these polling operations will be sufficient to obtain component identification information  107 . Other techniques for identifying difficult components  106  are discussed below. 
     The remote assistance manager  101  uses the component identification information  107  to retrieve images  109  of the components in question. The administrator  111  (e.g., the sophisticated party who is providing the technical help) can also select additional images  109  as desired. The remote assistance manager  101  can run, for example, on a central computer (not illustrated) or on the administrator&#39;s computer  113 , as desired. In any case, the remote assistance manager  101  has access to a collection of images  109  of components  106 , e.g., via the internet or a component image database  115 , stored locally or remotely. The remote assistance manager  101  also has network connectivity access to the user&#39;s  104  computer  105 , via. e.g., the internet, another type of wide area network, or a dedicated connection. 
     While the administrator  111  is in voice or electronic communication with the user  104  (e.g., via telephone, voice over internet, instant messaging, email, etc.), s/he can remotely push the images  109  to the user&#39;s  104  screen, along with visual cues  117 . Thus, the administrator  111  can not only display images  109  of specific components  106  to the user  104 , but can also point to specific areas and parts of the components  106 , e.g., with a mouse pointer, and annotate the images  109  with a drawing tool or the like. Annotating the image  109  can include, for example, highlighting sections of the image, or drawing or writing on or otherwise marking-up the image  109  to direct the user&#39;s  104  attention. This provides much more tangible assistance to the user  104 . 
     For example, using the system  100  illustrated in  FIG. 1 , the administrator  111  assisting his/her mom  104  with printer  106  installation could go like this: 
     Administrator: “Okay, look on your screen. See the picture of the cable? Find one like that.” 
     Mom: “Okay, I&#39;ve got it.” 
     Administrator: “Now look on your screen, See the picture of your printer? See where I&#39;m pointing with the arrow? Look there, and you&#39;ll see a jack that looks like this [image appears on screen showing the jack]. Plug the cable in there.” 
     Mom: “Okay, I did that.” 
     Administrator: “Okay, now see this picture of the back of your computer? See where I&#39;ve drawn a circle around the picture of the plug? Plug the other end of the cable there.” 
     Mom: “Okay.” 
     Administrator: “Okay, see where the power button is? I&#39;m pointing to it in the picture. Press that.” 
     Mom: “Okay, now what?” 
     Administrator: “Okay, now I can handle the rest from here. Just give me a minute.” 
     Mom: “Oh, you&#39;re the best son ever.” 
     Administrator: “Just remember that at Christmas.” 
     Turning now to  FIG. 2 , where a given component  106  is difficult to identify, a webcam  201  can be used as a feedback interface. For example, suppose the component identification agent  103  running on the user&#39;s  104  computer  105  cannot obtain a positive identification of a user&#39;s scanner  106 . The user  104  could point the web camera  201  at the device  106 , and the resulting digital image  109  could be used by the administrator  111  for offering configuration help, or for selecting an image  109 . In some cases, the webcam  201  could scan serial numbers or bar codes and the like, to provide strong identification information of components  106  that cannot otherwise be identified. Where a webcam  201  is not available, the user  104  could take a picture  109  with any digital camera  203 , and that picture  109  could be used by the administrator  111 . 
     Turning now to  FIG. 3 , it is to be understood that in some embodiments of the present invention, the component identification agent  103  running on the user&#39;s  104  computer  105  can identify not only computer peripherals  106  such as printers, display and audio devices, network connectivity devices, etc., but also any component  106  on the user&#39;s home network  301 , such as other desktop computing devices  303 , mobile computing devices  305 , digital television recorders  307  (e.g., TIVO® devices), smart appliances  309 , etc. 
     As will be understood by those familiar with the art, the invention may be embodied in other specific forms without departing from the spirit or essential characteristics thereof. Likewise, the particular naming and division of the portions, modules, agents, managers, components, functions, procedures, actions, layers, features, attributes, methodologies and other aspects are not mandatory or significant, and the mechanisms that implement the invention or its features may have different names, divisions and/or formats. Furthermore, as will be apparent to one of ordinary skill in the relevant art, the portions, modules, agents, managers, components, functions, procedures, actions, layers, features, attributes, methodologies and other aspects of the invention can be implemented as software, hardware, firmware or any combination of the three. Of course, wherever a component of the present invention is implemented as software, the component can be implemented as a script, as a standalone program, as part of a larger program, as a plurality of separate scripts and/or programs, as a statically or dynamically linked library, as a kernel loadable module, as a device driver, and/or in every and any other way known now or in the future to those of skill in the art of computer programming. Additionally, the present invention is in no way limited to implementation in any specific programming language, or for any specific operating system or environment. Furthermore, it will be readily apparent to those of ordinary skill in the relevant art that where the present invention is implemented in whole or in part in software, the software components thereof can be stored on computer readable media as computer program products. Any form of computer readable medium can be used in this context, such as magnetic or optical storage media. Additionally, software portions of the present invention can be instantiated (for example as object code or executable images) within the memory of any programmable computing device. Accordingly, the disclosure of the present invention is intended to be illustrative, but not limiting, of the scope of the invention, which is set forth in the following claims.