Abstract:
Described is a system and method for configuring a computing device. The method comprises detecting a coupling of a computing device to a host device, receiving first configuration data from the computing device, displaying the first configuration data on a graphical user interface on a display of the host device, generating second configuration data as a function of at least one change to the first configuration data entered via the graphical user interface and inputting the second configuration data to the computing device so that the computing device replaces the first configuration data with the second configuration data.

Description:
FIELD OF THE INVENTION  
       [0001]     The present invention relates generally to systems and methods for configuring computing devices.  
       BACKGROUND  
       [0002]     Software applications (e.g., configuration utilities) have been developed for allowing users of computing devices to update software, reconfigure settings and/or extend functionality of the computing devices. However, most users are not well versed in low-level operation of the computing devices and have difficulty effecting such changes. Employers are reluctant to allocate resources for training the users in the low-level operation and/or employing a separate IT team to perform these relatively menial tasks. Thus, there exists a need for allowing untrained personnel to reconfigure the computing device.  
       SUMMARY OF THE INVENTION  
       [0003]     The present invention relates to a system and method for configuring a computing device. The method comprises detecting a coupling of a computing device to a host device, receiving first configuration data from the computing device, displaying the first configuration data on a graphical user interface on a display of the host device, generating second configuration data as a function of at least one change to the first configuration data entered via the graphical user interface and inputting the second configuration data to the computing device so that the computing device replaces the first configuration data with the second configuration data. 
     
    
     DESCRIPTION OF THE DRAWINGS  
       [0004]      FIG. 1  shows an exemplary embodiment of a system for configuring a computing device according to the present invention.  
         [0005]      FIG. 2  shows an exemplary embodiment of a method for configuring a computing device according to the present invention.  
         [0006]      FIG. 3  shows an exemplary embodiment of a table including a profile of a computing device according to the present invention.  
         [0007]      FIG. 4  shows an exemplary embodiment of a method for loading a configuration file to a computing device according to the present invention.  
         [0008]      FIG. 5  shows an exemplary embodiment of a scanner identification screen of a user interface according to the present invention.  
         [0009]      FIG. 6  shows an exemplary embodiment of a communication protocol identification screen of a user interface according to the present invention.  
         [0010]      FIG. 7  shows an exemplary embodiment of a bar code recognition screen of a user interface according to the present invention.  
         [0011]      FIG. 8  shows an exemplary embodiment of an ADF screen of a user interface according to the present invention.  
         [0012]      FIG. 9  shows an exemplary embodiment of a firmware upgrade screen of a user interface according to the present invention.  
         [0013]      FIG. 10  shows an exemplary embodiment of a configuration download screen of a user interface according to the present invention.  
     
    
     DETAILED DESCRIPTION  
       [0014]     The present invention may be further understood with reference to the following description and the appended drawings, wherein like elements are referred to with the same reference numerals. The present invention describes a system and method for configuring a computing device. The exemplary embodiments of the present invention will be described with reference to configuring one or more imager-/laser-based scanners. However, those of skill in the art will understand that the present invention may also be utilized to configure other computing devices including, but not limited to, RFID readers/tags, mobile phones, PDAs, tablets, network interface cards, laptops, digital cameras, portable media players, etc.  
         [0015]      FIG. 1  shows an exemplary system  5  for configuring a computing device according to the present invention. The system  5  includes a host device  10  (e.g., PC, laptop, etc.) coupled to one or more computing devices (e.g., a scanner  15 ) via a hub  20 . Those of skill in the art will understand that the scanner  15  may be connected directly to the host device  10  when the host device  10  has connectors (e.g., serial, USB, etc.) for receiving and communicating with the scanner  15 . While the exemplary embodiments will be described with reference to configuration of the single scanner  15 , those of skill in the art will understand that the hub  20  may allow a plurality of scanners  15  to communicate with and be configured by the host device  10  simultaneously. The hub  20  may utilize hard ports (e.g., serial, USB, Ethernet) and/or soft ports (e.g., radio frequency, infrared) for transferring data to/from the scanner  15  and the host device  10 . Although the exemplary embodiments describe the scanner  15  being coupled to the host device  10 , in other exemplary embodiments, the scanner  15  may be configured without being coupled to the host device  10 , as will be explained further below.  
         [0016]     In the exemplary embodiments, the host device  10  executes a software application (e.g., a configuration utility) which allows a user of the host device  10  to reconfigure, program, update, etc. software, settings and/or functionality of the scanner  15 . That is, a manufacturer may provide the scanner  15  to the user with a predetermined software library, preconfigured settings and limited functionality. For example, the scanner  15  may only support scanning of only a particular symbology. However, the user may desire to reconfigure the scanners  15  based on, for example, intended operations (e.g., other symbologies), errors, bugs, malfunctions, etc. The configuration utility provides an easily navigable user interface (UI), allowing the user to reconfigure the scanner(s)  15  using the host device  10 . As will be described further below, the host device  10  may be coupled to (or integral with) a database  25  for storing information related to the scanner  15  and may have access to a communications network  30  (e.g., the Internet, an intranet, wired/wireless LAN/WAN, etc.).  
         [0017]      FIG. 2  shows an exemplary embodiment of a method  200  for configuring the scanner  15  according to the present invention. In step  205 , the scanner  15  is coupled to the host device  10 , either directly or via the hub  20 . As noted above, a plurality of scanners (of the same or varying types) may interface with the host device  10  via the hub  20 . In addition, other devices which are different from the scanner  15  may be connected to the hub  20  and configured by the host device  10  in parallel with the scanner  15 . For example, the scanner  15  and a PDA may be coupled to the hub  20  and configured by the host device  10  simultaneously. This may be beneficial when, for example, the scanner  15  and the PDA have similar functionality (e.g., wireless communications, bar code imaging/scanning, etc.).  
         [0018]     In step  210 , the host device  10  collects scanner data from the scanner  15 . The scanner data may include, for example, a scanner model, a serial number, a configuration file name, a firmware version, a manufacture date, a communication protocol, etc. In step  215 , the scanner data from the scanner  15  (and any other scanner coupled to the host device  10 ) may be displayed on the host device  10  as a profile in a summary  300 , an exemplary embodiment of which is shown in  FIG. 3 . The summary  300  may include further profiles when other scanners (or other devices) are coupled to the host device  10 , allowing the user to confirm visually settings of the scanners and reconfigure a plurality of scanners simultaneously.  
         [0019]     In another exemplary embodiment of the present invention, the scanner  15  need not be coupled to the host device  10  for the user to reconfigure the scanner  15 . For example, when the user loads the configuration utility on the host device  10 , it may ask the user whether to proceed without coupling the scanner  15 . If the scanner  15  is then coupled to the host device  10 , the scanner data is collected, as described above. If the user proceeds without coupling the scanner  15 , the configuration utility gathers input from the user regarding the scanner  15 . For example,  FIG. 5  shows an exemplary embodiment of a scanner identification screen  502  of a user interface (UI)  500  providing a plurality of pictures  505  of scanners to the user so that the scanner  15  may be easily identified. The UI  500  may further provide a look-up option  510  if the scanner  15  is not shown in the pictures  505 . If the look-up option  510  is activated, the host device  10  may retrieve one or more further pictures over the network  30 . For example, if the scanner  15  was a ring scanner, the look-up option  510  may be utilized.  
         [0020]     After the user has identified the picture of the scanner  15 , a communication protocol identification screen  602  may be presented on the UI  500 , as shown in  FIG. 6 . The screen  602  may present a plurality of pictures  605  of cables corresponding to protocols used by different scanners. The protocols may include, but are not limited to, USB, PS/2 Keyboard wedge, RS-232, IBM 468X/469X, wand emulation, undecoded, etc. Using the pictures  605  of the cables, the communication protocol of the scanner  15  may be determined even if the user has no knowledge of communication protocols.  FIG. 6  also shows a configuration summary  610  displaying previously items selected by the user while stepping through the UI  500 . The configuration summary  610  may be updated as the user interfaces with the UI  500 .  
         [0021]     The user may enter any remaining scanner data (e.g., serial number, manufacture date, etc.) manually from a visual inspection of information provided on the scanner  15 . Alternatively, the host device  10  may look-up the remaining scanner data based on user input on the scanner identification screen  502  and/or the communication protocol identification screen  602 . That is, the host device  10  may retrieve a stored profile of the scanner  15  stored on the database  25  or another device accessible over the network  30 . If the stored profile of the scanner  15  is retrieved from the database  25 , it may reflect current settings of the scanner  15 . That is, if the settings of the scanner  15  were previously changed, the stored profile may reflect the most recent changes (and/or any changes previously made). If the stored profile is retrieved from the network  30 , the stored profile may reflect manufacture default settings. That is, the stored profile may be retrieved from a manufacture server on the network  30 .  
         [0022]     In step  220 , the user may adjust the scanner data to reflect, for example, new settings, extended functionality, firmware updates, etc., generating adjusted scanner data for the scanner  15 . For example, the scanner data may be adjusted when the scanner  15  is used for scanning additional symbologies. As shown in  FIG. 7 , the user may activate/de-activate recognition of bar code symbologies on a bar code recognition screen  702 . The scanner data may also be reset to user- or manufacture-created default settings using a reset option  705 . As noted above, the default settings may be retrieved from the database  25  and/or over the network  30 .  
         [0023]     The user may also create or select pre-created advanced data formatting (ADF) rules to apply to the scanner  15 , as shown in an ADF screen  802  in  FIG. 8 . For example, scan data generated by the scanner  15  when scanning a bar code may have a first predefined format. The user may instruct the scanner  15  to alter the first predefined format according to one or more ADF rules to generate a second predefined format prior to transmitting the scan data to a decoding device. The ADF screen  802  may also allow the user to adjust a beep volume, which may be indicative of a valid scan, incoming data, a VoIP call, etc.  
         [0024]     The UI  500  may also allow the user to upgrade the firmware on the scanner  15 . A firmware upgrade screen  902  shown in  FIG. 9  presents the user with various options regarding the firmware. The user may select a firmware version from a plurality of firmware versions stored in the database  25  to install on the scanner  15 . The user may also determine if a further firmware version(s) is available on the network  30 . The firmware upgrade screen  902  may show each available firmware version (older and newer) and corresponding changes it made over an immediately prior version. For example, the firmware version 2.1.0 may have fixed certain bugs in the firmware version 2.0.2 which, as indicated in the firmware upgrade screen  902 , is the current version of the firmware on the scanner  15 .  
         [0025]     Additional features may be provided to facilitate navigation of the configuration utility. As described above, the configuration utility may be used to configure multiple scanners simultaneously. For example, if the summary  300  displays profiles for a plurality of scanners, a filter may be used to sort the scanner data by field, setting, etc. A highlighter may be used to indicate an ongoing function or process for the scanner  15 , e.g., downloading a newer firmware version. The configuration utility may also highlight any adjustment made to previous scanner data and/or default scanner data reflected in the current scanner data. In addition, the scanner data may be individually viewable by field. For example, a particular scanner configuration file may be opened and edited.  
         [0026]     In step  225 , the adjusted scanner data is applied to the scanner  15 . When the scanner  15  is coupled to the host device  10  (directly or via the hub  20 ), the UI  500  may present a configuration download screen  1002  including a ‘Load to Scanner’ option which, when chosen by the user, downloads the adjusted scanner data directly to the scanner  15 . When the host device  10  is interfacing with multiple scanners, the adjusted scanner data for all (or selected ones) of the scanners coupled to the host device  10  may be downloaded to the scanners in parallel. The scanner  15  may provide a visual and/or audible indicator (e.g., LED blink/color change, beep sequence, confirmation message on LCD, etc.) to confirm that the adjusted scanner data has been downloaded.  
         [0027]     When the scanner  15  is not coupled to the host device  10 , one or more bar codes representing the adjustments may be printed. When the bar codes are scanned, the scanner  15  reconfigures itself to reflect the adjusted scanner data. In addition, the adjusted scanner data may be written to a removable storage device (e.g., USB storage device, CD, DVD, floppy disk, etc.) and/or emailed to another host device which would be used to reconfigure the scanner  15 . The email may contain a link for downloading the configuration file from a host and, optionally, include instructions on how to load the adjusted scanner data to the scanner  15 .  
         [0028]     After the adjusted scanner data is loaded to the scanner  15 , the host device  10  may store the adjusted scanner data as a new profile for the scanner  15  in the database  25 . Thus, when the scanner  15  is subsequently recoupled to host device  10  (or any device with access to the database  25 ), the new profile corresponding to the adjusted scanner data is retrieved.  
         [0029]      FIG. 4  shows an exemplary embodiment for loading a configuration file generated by the configuration utility according to the present invention. In step  405 , the configuration utility is launched. In step  410 , it is determined whether the configuration file (e.g., symbologies, volume of beep, etc.) is compatible with the scanner  15 . For example, the configuration file may be coded for a particular model of scanner. In step  415 , the configuration file is compatible with the scanner  15 , so the user is prompted to load the configuration file directly to the scanner  15  or open the configuration file. When the scanner  15  is coupled to the host device  10 , the configuration file may be loaded directly to the scanner  15  (step  420 ). However, when the scanner  15  is not coupled to the host device  10  and the user does not intend to open the configuration file, the user may select an option for printing bar codes corresponding to the configuration file. When the scanner  15  scans the bar codes, it reconfigures itself to settings corresponding to the configuration file. When the configuration file is opened, the user may edit it (step  425 ). When the editing is complete, the changes may be saved and the configuration file is loaded to the scanner  15  (or bar codes printed).  
         [0030]     It will be apparent to those skilled in the art that various modifications may be made in the present invention, without departing from the spirit or scope of the invention. Thus, it is intended that the present invention cover the modifications and variations of this invention provided they come within the scope of the appended claims and their equivalents.