Data collection system having reconfigurable data collection terminal

There is provided in one embodiment a data collection system including a data collection terminal having an encoded information reader device and a computer spaced apart from the data collection terminal. The data collection terminal in one embodiment can be configured to be responsive to configuration data expressed in an extensible markup language.

FIELD OF THE INVENTION

The present invention relates to data collection terminals in general and particularly to a data collection terminal in communication with a host computer spaced apart from the data collection terminal.

BACKGROUND OF THE INVENTION

In recent years significant advances have been made in the art of data collection terminals and networks containing the same.

In U.S. Patent Publication No. 2002/0171745, a data collection terminal is described having a bar code reading device which is in communication with a remote computer. The bar code reading terminal sends image data and associated bar code data to a remote computer. In one combined bar code/image data transmission scheme described in the above patent application publication decoded bar code message data identifying a parcel is stored within an open byte header location of an image file including an image representation of the parcel. In U.S. Patent Publication No. 2002/0171745, an image data file in .PDF, .TIF, or .BMP file format is created at a data collection terminal which includes an image representation of a decoded bar code message and an image representation of the package including the bar code encoding the decoded message. In U.S. Patent Publication No. 2003/0132292, a data collection terminal is described having a data collection terminal including a bar code reading device, an RFID reading device, a mag stripe data reading device, a chip card reading device, and a fingerprint reading device. The terminal is coupled to a network, which is configured to facilitate financial transactions involving data collected utilizing the various reading devices.

As significant as the above developments are, shortcomings have been noted with the operation of presently available data collection terminals and the systems in which they are incorporated. For example with continual up featuring of data collection terminals, data collection terminals have become increasingly difficult to use. While data collection terminals may have a plurality of available functions users of such devices find it difficult or practically impossible to access all of the functions incorporated in the devices that they operate. For example, configuring a radio transceiver of a data collection terminal to operate within a specific network has become a daunting task and one that involves a selection of tens of users' selectable options. As a result, users of data collection terminals have been observed to delay or avoid the process of configuring terminal radio transceivers for operation in a specific network and instead operate their terminals in long periods of time in batch mode or serial hardwire connection mode for long periods of time in spite of the availability of wireless connectivity.

A problem with reconfiguring certain types of data collection terminals such as hand held data collection terminals is their small size. Configuration setting screens on data collection terminals are sometimes difficult to view on account of being of small size. The smallness of keyboard buttons and other user interface buttons such as pointer controllers on certain types of data collection terminals also makes the setting of configuration parameter settings with such terminals difficult.

While some attempts to use a spaced apart computer with a larger keyboard and display screen for configuration of a data collection terminal have significantly simplified the task of reconfiguring a data collection terminal, other reconfiguration methods involving use of a computer spaced apart from a data collection terminal have been noted to be time consuming and have also been noted to result in entry errors.

A known method of configuring a data collection terminal uses a general purpose computer to create or edit a text based configuration file containing parameters for each device or program the user desires to configure. A common type of text file used to configure devices and programs is the “.INI file” format. The .INI file format was developed by MICROSOFT, Inc for use in configuring WINDOWS operating system and other programs running on a WINDOWS platform. However, developers have been observed to use the .INI file format for other configuration applications running on WINDOWS platforms. Generally, an .INI file will contain a somewhat organized list of parameter settings that are encoded as “key values.” Elements of a data pair, e.g., the key and key value encoding one or more parameter settings, may be separated by a predetermined character such as an equal sign (“=”). If the key value comprises a plurality of values, individual elements may be separated by, for example, a comma. Data pairs may be separated by a predetermined character such as a return character. Further, data pairs may be organized into sections based on a system or sub-system relevant to the data pair. Such configuration files are typically created and edited using a general text editor (e.g., WORDPAD or NOTEPAD).

To prepare an .INI file a user must be familiar with the various available configuration parameter settings, their permissible values, and be willing to hunt through a list of data pairs to identify those data pairs that relate to settings of interest. Once completed the .INI file is transferred to the data collection terminal over a communication path. When residing at a data collection terminal parameter settings encoded in the .INI file may be accessed by a program of the data collection terminal.

In many cases, to adequately provision a data collection terminal for operations, not only do parameters settings need to be set, but certain files, such as applications and databases, need to be transferred and stored on the data collection terminal. In the past, such transfers were manually handled using an OS related synchronization software, such as MICROSOFT ACTIVESYNC for the WINDOWS MOBILE OS. In general a user would queue up each file (typically by dragging and dropping each file into a predetermined folder) for transfer and executing an active sync (in the case of WINDOWS MOBILE). According to a known method for sending files to a data collection terminal an active sync can be executed for each file to be transferred. Also, several files can be included in a single CAB file (.CAB) file and a .CAB file can be transferred to a data collection terminal using an active sync.

There is a need for further advances in data collection terminals and systems in which they are connected.

DETAILED DESCRIPTION OF THE INVENTION

I. System Overview

In a data collection system including a data collection terminal that can have an encoded information reader device and a computer spaced apart from the data collection terminal, the data collection terminal can be configured to be responsive to configuration data expressed in an extensible markup language. The computer in one embodiment can use an existing extensible markup language document to create a data entry screen to receive desired parameter settings for the data collection terminal within data entry fields of the data entry screen. The computer can further combine the extensible markup language document with the desired parameter settings to create configuration data and can initiate a transfer of the configuration data to the data collection terminal.

The computer in one embodiment can be used to create for transfer to the data collection terminal a data package that may include file data corresponding to one or more selected files selected for transfer to the data collection terminal, together with additional data. The one or more selected files can include a configuration document file expressed in an extensible markup language that has been created using the computer. The additional data can include command data corresponding to commands to be executed by the data collection terminal, compression selection data for the data package and encryption selection data for the data package, and action indicators indicating action to be taken by the data collection terminal when processing file data and command data of the data package.

The system can be used to transfer data, including but not limited to configuration data between computers other than data collection terminals.

The subheadings herein, e.g., “I. System Overview,” “II. System Schematic Diagrams” are provided for general guidance only, and it will be understood that there is significant overlap between subject matter contained under the various subheadings.

II. System Schematic Diagrams

Referring toFIG. 1a, there is provided a system1000for reprogramming data collection terminal10with use of a host computer100. As shown inFIG. 1a, system1000can include a host computer100shown as being provided by a portable laptop personal computer PC and a data collection terminal10having an encoded information reader device shown as being provided by a bar code reader device14. Host computer100can include a keyboard122and a display132disposed in portable housing101. Data collection terminal10can include an encoded information reader device, e.g., bar code reader device14. Data collection terminal10can also include a display32, trigger24, and keyboard22all disposed in and supported by portable hand held housing11. System1000can further include a bar code label printer17for printing a bar code13. Bar code symbol printer17can be in communication with host computer100, such that host computer100can send print commands to printer17.

Hardware devices that can be incorporated in host computer100and data collection terminal10are described in connection withFIG. 1b. Host computer100can include a control circuit140such as may be provided by a micro processor IC chip in communication with a memory142, a user input interface120and a user output interface130. Memory142of host computer100can include a read only memory device, ROM146, and a random access memory device RAM148. ROM146can be e.g., an EROM or an EPROM. In addition Memory142of host computer100can include storage memory145such as a hard drive and a flash memory device149. Memory142of host computer100, among other types of files, can retain XML configuration files which can be edited and transferred to data collection terminal10. User input interface120can include keyboard122and pointer controller123, e.g., a mouse or track ball. User output interface130can include a display132which can also be regarded as a display device. Referring to additional devices of host computer100, host computer100can include a power distribution circuit190for powering integrated circuit of host computer100. Power distribution circuit190receives electrical power from a plurality of alternative sources, e.g., serial block192such as may be provided by a USB cable, a transformer based AC to DC power supply194, and rechargeable battery196. Host computer100can include a long term storage device such as145which may include, e.g., a hard disk and/or a CD disk drive. Host computer100can also include a wireless radio communication interface160including one or more radio transceiver devices, e.g., 802.11 radio transceiver device162and Bluetooth radio transceiver device164. Host computer100can also include a serial input/output interface device180which can include one or more of, e.g., an RS232 serial port, an ETHERNET serial port, or a USB serial port. The various devices of host computer100can be in communication via system bus115. The various devices of host computer100can have associated registers and device processors, sometimes referred to as device controllers.

Data collection terminal10can include a control circuit40such as may be provided by a microprocessor integrated circuit chip, memory42, a user input interface20, a user output interface30, and an encoded information reader device12. Memory42can include a read only memory device or ROM46and a random access memory device48. ROM46can be e.g., an EROM or EPROM. Memory42can include a storage memory45such as a hard drive, and a flash memory device49. A memory of device10e.g., Memory42can retain among numerous types of files including XML configuration files for configuring a device of terminal10such as a radio transceiver device or a bar code reader device. System1000can be operated so that such XML configuration files are retrieved from data collection terminal10by host computer100, edited at host100, then transferred back to data collection terminal10. User input interface20can include pointer controller23, keyboard22, touch panel25, and trigger24. User output interface30can include display32and acoustic output33. Encoded information reader device unit12can include one or more of bar code reader device14, RFID reader device16, and card reader device18. Bar code reader device14may be provided, e.g., by an IT4XX/5XX Imaging Module with decode out circuit of the type available from Hand Held Products, Inc. of Skaneateles Falls, N.Y. The IT4XXX/5XXX Imaging Module with decode out circuit provides decoding of a plurality of different types of bar code symbols and other decodable symbols such as PDF 417, Micro PDF 417, Maxicode, Data Matrix, QR Code, Aztec, Aztec Mesa, Code 49, UCC Composite, Snowflake, Data Gliffs, Code 39, Code 128, Codabar, UPC, EAN, Interleave 205, RSS, Code 93, Codablock, BC412, Postnet, Planet Code, BPO Forcedate, Canadian Forcedate, Japanese Post, KIX (Dutch Post), OCR A and OCR B. Encoded information reader device unit12can also include an RFID reader device16such as that may be provided by a Skytek Sky Module M1 reader and card reader device18which may include an integrated circuit card (IC CARD) reader device otherwise known as a smart card reader device. Referring to addition features of data collection terminal10, data collection terminal10can include a power distribution circuit90which receives power from a variety of different power sources including serial power source92(e.g., a USB cable, a transformer based AC to DC power supply94, and rechargeable battery96). Data collection terminal10can also include a radio communication interface device unit60. Radio communication interface device unit60can include one or more radio transceiver devices such as IEEE 802.11 radio transceiver device62, Bluetooth radio transceiver device64, WIMAX radio transceiver device66and cellular radio transceiver device68. Data collection terminal10can also include a serial input/output interface80. Serial input/output interface80can include one or more of an RS232 port, USB port, and an ETHERNET port. The various devices of data collection terminal10can have associated registers and processors sometimes referred to as device controllers.

Data collection terminal10can include one or more of the additional devices that are described in U.S. patent application Ser. No. 11/174,447, filed Jun. 3, 2005 entitled, “Digital Picture Taking Optical Reader Having Hybrid Monochrome And Color Image Sensor Array,” U.S. Provisional Patent Application No. 60/721,518, filed Sep. 28, 2005 entitled, “Data Collection Terminal And Network Having Radio Signal Responsive Mode Switching,” and U.S. Provisional Patent Application No. 60/725,001, filed Oct. 7, 2005 entitled, “Data Collection Terminal Having Dynamic Access To Multiple Wireless Networks,” all of which are incorporated herein by reference in their entirety. The above mentioned U.S. Provisional Patent Application No. 60/721,518, filed Sep. 28, 2005 is attached hereto as Appendix D. For example, in addition to the devices ofFIG. 1b, data collection device can include a VOICE CODEC, and microphone and a location detection circuit. A parts list for data collection terminal10in one illustrative embodiment is provided in Table A.

TABLE ABar Code Reader Device 14Hand Held Products IT4xxx/80 ImageEngine Imaging Module With DecodeOut CircuitRFID Reader Device 16Skytek Sky Module M1, Sky Module M8Card Reader Device 18Panasonic ZU-9A36CF4

Referring now toFIG. 1e,FIG. 1eshows an imaging module1402that can form part of a bar code reader device14of data collection terminal10. Imaging module1402can be provided by an IT4XXX imaging module that type available form Hand Held Products, Inc. of Skaneateles Falls, N.Y. Imaging module1402can include first circuit board6314A, second circuit board6314B, support assembly6380and optical plate6326including aiming optics such as aiming optics6325and illumination optics6327. Imaging module1402can include a lens1404provided by e.g., a lens singlet, lens doublet or lens triplet. Lens1404focuses an image of a bar code symbol13onto two-dimensional image sensor1406which can comprise a plurality of pixels formed in a plurality of rows and a plurality of columns. Imaging module1402can also include conductive support posts6384holding together the devices of the circuit board and delivery power between circuit boards of the imaging module. Imaging module1402when provided by an IT4XXX imaging module the type available from Hand Held Products, Inc. is available in a form with an associated decode out circuit for decoding bar code symbols and other decodable indicia such as MaxiCode PDF 417, Micro PDF 417, Data Matrix, QR Code, Aztec Code, RSS Code, Postal Codes, Code 39, Code 93, Interleave205, Code 128, UPC, EAN and UPC/EAN, OCR A and OCR B. Imaging module1402can include support assembly6381supporting devices of imaging module1402such as lens1404and circuit board6314a, and6314b. Imaging module1402can include aiming LEDs6318mounted on circuit board6314b. Light from aiming LEDs is shaped by slits6343of support assembly6381which slits are imaged onto a substrate e.g., paper18by lenses6325as shown inFIG. 1ato form an aiming pattern on bar code13. Light from LEDs6316is shaped in part by optics to illuminate an area that substantially corresponds to a field of view of imaging module1402. It will be seen that system1000can include XML configuration files configuring bar code reader device14including imaging module1402. For example, an XML configuration file such as the file of Table 2 can include a bar code reader device specific elements having a name attribute corresponding to bar code reader device14, and subsidiary elements having content parameter settings for controlling the operation of bar code reader device14. Such parameter setting values can include e.g., delay parameter settings for controlling timing of activation of aiming LEDs6318, centering parameters for controlling an area of interest of a captured image captured by activation of image sensor1406, and suffix parameter setting values for controlling which, if any, characters will be appended to a decoded out message. XML configuration files retained on data collection terminal10(i.e., in a memory) can be transferred (e.g., copied) to host computer100, edited, then transferred back to data collection terminal10. When residing at a data collection terminal, parameter settings of an XML configuration file may be utilized to reconfigure a bar code reading device in a number of different ways, e.g., the parameter settings can be accessed by a program operating a bar code reader device14, may be parsed and passed to program for operating the bar code reading device14, or may be parsed and passed to a register of the data collection terminal. Bar code reader device14can be configured to attempt to read bar codes and to read bar codes in response to a trigger signal being initiated. Data collection terminal10can be configured so that such a trigger signal is initiated, e.g., when trigger24or another button of terminal10is depressed, or when a trigger signal command is received from an external computer, such as host computer100. Bar code reader device14can also be a laser scanning type bar code reading device, e.g., such as may be provided by an MS-3 Laser Scanner OEM Module available from MICROSCAN.

Referring toFIG. 1f,FIG. 1fshows a block diagram of a RFID reader/writer device16that can be incorporated in data collection terminal10. RFID reader/writer device16(referred to herein simply as an “RFID reader device”) can include transmitter1602, antenna1604, receiver1606, data decode processing circuit1608and writer1610which can also be termed an encoder, which can serve as encoding module5012(encoder) of host computer100of system1000as described in connection withFIG. 1d. RFID reader/writer device1602can be used to activate a passive tag1620as shown inFIG. 1d. Passive tag1620can include a storage device1622, a transponder1626and an antenna1628. For activation of a passive tag1620(FIG. 1d), transmitter1602can send an activation radio signal over antenna1604which is received by antenna1628for activation of transponder1626. In response to the receipt of the activation signal, transponder1626is actuated to transmit a radio signal representing identification data encoded into passive tag1620. RF receiver circuit1606in turn receives the radio signal from the passive tag1620and converts the data into a processable digital format. Data decode processing circuit1608of RFID reader/writer device16typically includes a low cost micro controller IC chip and decodes the received radio signal information received to decode the identification data originally encoded into RFID tag1620. RFID tag1620can be applied to e.g., articles for sale in a retail store, or to an identification card such as a credit or debit card. RFID tag1620can also be used independent of an identification application. For example, RFID tag1620can be used as a token in security applications or as a tool for use in reconfiguring a data collection terminal. RFID reader device16can be operated in a continuous read mode or in an active read mode. In an active read mode, RFID reader device16attempt to read and reads data from a tag1620in response to a trigger signal initiated. Data collection terminal10can be configured so that a trigger signal is initiated by e.g., depressing trigger24(FIG. 1a) or another button of data collection terminal10.

Referring toFIG. 1g,FIG. 1gshows a block diagram of card reader device18that can be incorporated into data collection terminal10. Card reader device18can have reading and/or writing functionality and can be a card reader device for reading financial transaction cards. Card reader18can be an integrated circuit card reader device also known as a smart card reader device which can read data from and write data to a smart card. Card reader device18can include electrical contacts1802, signal detection circuit1804, card decoder1806and encoder1808which can serve as encoding module5012(encoder) of host computer100of system1000as described in connection withFIG. 1d. Contacts1802of card reader device18are adapted for making contact with an integrated circuit1822of an integrated circuit card1820(Smart Card) which may be, e.g., credit card, a debit card, an electronic benefits card or a customer loyalty card or simply an integrated circuit card used as a token for security applications or as a tool for use in reconfiguring data collection terminal10. When contacts1802are in contact with integrated circuit1822of card1820, signal detection circuit1804picks up an electrical signal and information stored on integrated circuit1822is then decoded by card decoder1806. Card reader device18further includes an encoder1808for encoding data which is to be written into card1820. When card1820is in contact with card reader device18, card reader device18can be activated so that encoded data for encoding a card is written onto integrated circuit chip integrated circuit1822of card1820.

Referring now toFIGS. 1h-1l, various housings that can incorporate the circuit devices shown in the data collection terminal10ofFIG. 1bare shown and described. In the embodiment ofFIGS. 1hand1i, data collection terminal10is provided by a hand held data collection terminal10in a form factor commonly referred to as a portable data terminal (or PDT) which is best seen in the side view ofFIG. 1i. The hand held data collection terminal ofFIG. 1iand1hincorporates imaging module1402as shown inFIG. 1ewith imaging access a, of imaging module1402extending forwardly from the data collection terminal10. Also, as seen from the side view ofFIG. 1i, encoded information reader devices of data collection terminal10can be mounted on various circuit boards98that are supported internally within an interior of housing11of data collection terminal10. Namely, RFID reader device16and card reader device18can be mounted on circuit boards98disposed within an interior of housing11. Imaging module1402of bar code reader device14can also be mounted within housing11while an associated decode out circuit (not shown) associated with imaging module1402can be mounted on a printed circuit board98in an interior of housing11.FIGS. 1j,1kand1lillustrate an alternative housing11for data collection terminal10. Alternative housing11as shown inFIGS. 1j,1kand1lis in a form factor commonly referred to as a transaction terminal. In the embodiment of theFIGS. 1j,1kand1l, data collection terminal10incorporates imaging module1402as shown inFIG. 1e. Data collection terminal10like the data collection terminal as shown inFIGS. 1hand1ias shown inFIGS. 1j,1kand1lalso includes card reader1810. Card reader1810includes card reader device18together with the portion of housing11that is formed to guide a card1820so that card1820makes contact with contacts1802. In an aspect of system1000, host computer100can have the form factor of one of the described data collection terminals. Because host computer100can have a form factor of one of the described data collection terminals, host computer100can be portable and can incorporate one or more encoded information reader devices.

Data collection terminal10as illustrated inFIGS. 1jand1kcan have a plurality of operating modes which are operative to prompt a user to enter certain information into data collection terminal10. As indicated by the view ofFIG. 1j, data collection terminal10can have a signature entry mode wherein the ENTER SIGNATURE prompt1832is displayed on display32prompting the user to enter the signature into touch screen overlay25utilizing stylus1838. Data collection terminal10is indicated by the view ofFIG. 1kcan also have a personal identification number (“PIN”) entry mode wherein data collection terminal10displays PIN entry prompt1834on display32prompting the user to enter PIN data into touch screen overlay25. As indicated by the bottom view ofFIG. 1l, data collection terminal10can be configured to be demountably mounted on a fixed member. Terminal10can execute such signature and pin entry modes when provided in the form factor ofFIGS. 1hand1i. As seen in the view ofFIG. 1l, data collection terminal10can include key shaped formations1840which enable data collection terminal10to be mounted on a fixed member such as a fixed member having screw heads extruding therefrom in the spacing relation of formations1840of housing11to enable data collection terminal10to be mounted on the fixed member such as a desktop, a shelf, a post or a wall and then readily removed from the fixed member when it is desired to move data collection terminal10to another location.

III. Host Computer and Data Collection Terminal Applications

Referring toFIGS. 1a,1band1chost computer100can be configured to perform a variety of functions. For example, host computer100can parse data from an extensible markup language configuration file, such as an XML configuration file and can display such data on a configuration graphical user interface display screen. The parsed data can include parameter settings and descriptions of parameters. Host computer100in another aspect can receive user input parameter settings into the displayed graphical user interface display screen and combine such settings into data of an existing extensible markup language configuration file to generate an edited extensible markup language configuration file.

In another aspect, host computer100can build for transfer to a data collection terminal10a data package including file data corresponding to one or more files and other data such as command data, encryption selection data, compression selection data, and action indicators. For use in defining a data package, host computer100can display on display132a package building graphical user interface display screen enabling a user to select file data corresponding to one or more files and the above noted other data for inclusion in a data package. The file data selected for inclusion in a data package can include, for example, file data of an XML configuration file that has been previously built using the above noted configuration file graphical user interface display screen, and file data corresponding to, e.g., other text files, executable files, image files, audio files. The command data selected for inclusion in a data package can include command lines to be run by a command line interpreter of a data collection terminal10and script commands to be run by an interpreter of data collection terminal10other than a command line interpreter. With use of the package building graphical user interface a user can select encryption selection data and compression selection data for inclusion in a data package. In accordance with the selected encryption selection data, and compression selection data, the host computer100can encrypt file data of various files and command data unevenly across a data package and can also compress file data of various files and command data unevenly across various files.

In one aspect the package building graphical user interface display screen of host computer100can display a tree diagram indicating data that is designated for inclusion in a data package. Encryption selection and compression selection designators can be inserted into and moved about within the tree diagram to designate which file data and which command data of a data package is to be encrypted or compressed. The package building graphical user interface can also prompt a user to select action indicators including flags each time different file data or a different command is selected for transfer to a data collection terminal. Such action indicators can include action indicators indicating whether a selected file is to be executed when rebuilt at a data collection terminal10, whether a password is to be entered at a data collection terminal to allow access to a file, whether the selected file is to overwrite an identical named file of the data collection terminal, and the directory of a data collection terminal into which a selected file is to be stored. Action indicators can also be selected for a data package.

When data of a data package has been designated, a data package can be transferred to a data collection terminal either by transferring a data package over a communication path or by encoding a data package into a decodable dataform and then decoding the decodable dataform using that data collection terminal10.

Referring to aspects of data collection terminal10, data collection terminal10can be configured to receive a data package and de-package a data package. When receiving a data package by way of decoding an encoded dataform having more than one part (such as more than one bar code symbol), the data collection terminal may assemble fields corresponding to each part in an ordering appropriate to reconstruct the data package.

When de-packaging a data package, data collection terminal10can read encryption selection data and compression selection data of a received data packaged file in order to decrypt and decompress file data and command data of the data package in the manner required to rebuilt the files and commands. After file data corresponding to a certain file selected for transfer is decrypted and decompressed, the file selected for transfer can be regarded as being rebuilt. After command data corresponding to a certain file selected for transfer is decrypted and decompressed, the command selected for transfer can be regarded as being rebuilt. A rebuilt file or command can be buffered in a working memory of data collection terminal10. When de-packaging a data package data collection terminal can also read action indicators of the data package and take action with respect to rebuilt files and commands in a manner corresponding to the action indicators.

Where a rebuilt file is a configuration file such as an XML configuration file, data collection terminal10can parse parameter settings of the configuration file and utilize the parameter settings in reconfiguring a subsystem of the data collection terminal. In utilizing a configuration file to reconfigure a subsystem of data collection terminal10data collection terminal10can utilize the configuration file to reconfigure a device of data collection terminal10such as a bar code reader device14or a radio transceiver device62or another device. Data collection terminal can reconfigure a device with use of a configuration file, for example, by retaining the configuration file in such manner that parameter settings of the file are accessed by a program running the device or by parsing and passing the parameter to a file or other memory location for access by a program operating a device or by another method. Data collection terminal10can also utilize a configuration file to reconfigure a subsystem of data collection terminal10by utilizing a configuration file to reconfigure a program of device10without affecting operation of a device of terminal10. For example, in one embodiment, data collection terminal10can parse a parameter setting and pass the parameter setting to a WINDOWS Registry, for access by the operating system or by another program (system or application level) where access of the parameter does not result in control of operation of a device being affected.

For carrying out the above noted functions, host computer100and data collection terminal10can be regarded as having a plurality of software processing modules that can be executed by a microprocessor forming control circuit40. Because a processor executing a new function can be regarded as a new circuit, the software modules described herein can be alternatively termed “circuits.”

Referring to host computer100, host computer100capable of performing the above noted functions can be regarded as having an configuration file interface module5002forming the configuration file graphical user interface, a configuration file parsing module5004(or parser) for parsing data from a configuration file to be displayed in a specific format in the configuration file graphical user interface display screen, a packaging interface module5006forming the package builder graphical user interface display screen and a packaging module5008for encrypting and compressing selected filed data and command data of a designated data package in accordance with encryption selection and compression selected data selected by a user, and for incorporating one or more of file data, command data, encryption selection data, compression selection data, and action indicators into a data package that can be used and managed as a file (e.g., can be readily moved between directories of a same or different computers). Host computer100can also have an encoding module5012for encoding a dataform such as one or more bar codes. Additional processing modules that can be included in host computer100are indicated by additional functionalities described herein. A set of processing modules of host computer100can be regarded as a host application5020. The host application5020can include one or several programs. For example, each module can be provided with a single program or with several programs. More than one software module can be provided in a single program. The programs defining host application5020can be written in a suitable programming language such as C++, C#, .Net, Python. The program or programs of host application5020can call pre-compiled sections of code known as libraries, and can run on a suitable operating system5022, e.g., WINDOWS XP.

Referring to data collection terminal10, data collection terminal10performing the above noted functions can be regarded as having a decoding module5042for decoding a dataform, a depackaging module5044for decrypting and decompressing file data and command data of a received data package and for taking action with respect to rebuilt files and commands according to action indicators of a data package, and parsing module5046(parser) for parsing parameter settings of a configuration file and utilizing such parameter settings to configure a device or program (system or application level) of the data collection device. Additional processing modules that can be included in data collection terminal10are indicated by additional functionalities described herein. A set of processing modules of data collection terminal10can be regarded as a terminal application5060. The terminal application5060can include one or several programs. For example each module can be provided with a single program or with several programs. More than one software module can be provided in a single program. The programs defining host application5060can be written in a suitable programming language such as C++, C#, .Net, Python. The program or programs of host application5060can call pre-compiled sections of code known as libraries and can run on a suitable operating system e.g. WINCE. Decoding module5042can be provided by, e.g., a decoding module of RFID reader device16, bar code reader14, or card reader device18.

FIG. 1dshows a flow diagram indicating illustrative operations between processing modules of host computer100. Data of configuration files5082which may be built with use of modules5002,5004may be sent to packaging module5008or else as indicated later herein, data of a configuration file can be encoded by encoding module5102(encoder) such as a bar code encoder, RFID tag encoder, or Smart Card (IC card) encoder without being sent to packaging module5008. Packaging module5008can package data from e.g., configuration files5082, selected commands5084and files5086. Packaging module5008(i.e., host computer100in accordance with packaging module5008) can build a data package3000which can be managed as a file and transferred to data collection10over a communication path as indicated by FTP block5088. Also, data package3000can be encoded by encoding module5012which, as indicated, can be provided by a bar code encoder, RFID tag encoder, Smart Card (IC card) encoder or a USB stub encoder (not shown).

Referring to further aspects of encoder5012(encoding module), encoder5012can encode data into a physically transportable medium that can be hand carried and physically transported by a user of system1000from location to location. For example, encoder5012can print decodable bar code symbols onto a physically hand-carryable sheet of paper or card (for example, the printer can print a bar code symbol on a sticker which is applied to a card), can write RFID tag data onto physically transportable RFID tag1620that can be hand carried, can write IC card data onto a physically transportable hand carried card1820, or can write encoded data onto a physically transportable and hand carried USB plug. The physically transportable medium can be carried from terminal to terminal. By reading of the same encoded transportable medium by several different data collection terminals10several different data collection terminals can be reconfigured and re-provisioned with new files and other data in a like manner. When the decodable dataform encoded by encoder5012is a decodable bar code symbol, an RFID tag or an IC card, the transportable medium onto which the decodable dataform is encoded may be a hand-carryable credit card sized card. The card may be, e.g., a credit card for use in purchase transactions, a debit card, a customer loyalty card or an Identification card (ID card) such as a driver's license, employee ID card or a patient ID card. The card can also be a dedicated “token” card dedicated for the purpose of retaining data packages built by host computer100which can be decoded by data collection terminal10. Another example of a hand-carried physically transportable medium onto which encoder5012may encode data of a data package is a hand carried computer having the form of a data collection terminal10or another type of hand carried computer such as a cellular telephone. As has been indicated host computer100can encode and image representation of a bar code into an image file such as TIF, BMP or other suitable formats. Such an image file containing an image representation of a bar code can be sent by host computer100to a hand held computer for display using any IP data communication path. The hand held computer receiving on or more image files including representations of bar codes can be networked to a host computer100in the manner of data collection terminal10,10-1or10,10-2ofFIG. 2d. The hand held computer can be actuated to display an image file so that an encoded bar code is displayed on a display of the hand held computer. When such an image file is displayed by a first hand held computer a second hand held computer provided by data collection terminal10is actuated to read the displayed bar code so that the data collection terminal receives the data package that had been encoded into the bar code. Where data of a data package is large and is encoded into a plurality of bar codes, image representations of each of the bar codes can be encoded into a separate image file. Host computer100can send the plurality of image files to a hand held computer. In turn the hand held computer can be actuated to display the plurality of image files on a display thereof in succession. As the succession of image files is being displayed on a display of the hand held computer, data collection terminal10can be aimed at the display of the hand held computer with a trigger24thereof pressed down so that the data collection terminal10reads the succession of displayed bar codes and receives the data package.

IV. Data Package

It has been mentioned that host computer100of system1000can be used to define and build a data package for transfer to a data collection terminal10. When a data package3000as described herein is defined and built at a host computer1000, the data package can be manipulated and managed as single file in the same manner as any type of file. For example, with suitable file management software, a data package3000can be easily and quickly transferred (e.g., copied) between directories of different computers or copied from a directory of a first computer into multiple directories of the same or different computers (e.g., data collection terminals). However, a data package3000of the type that can be defined and built at host computer100can include a rather complex arrangement of data. For example, a data package can include file data of more than one file that is selected for transfer to a data collection terminal. A data package3000defined at host computer100can also include command data corresponding to one or more command. Still further, a data package3000can include encryption selection data and compression selection data. In addition, a data package3000can include action indications such as flags which are for reading by a data collection terminal to determine the manner in which data of the data package is to be processed at a data collection terminal100. Referring now toFIGS. 3a-3g, illustrative embodiments of a data package3000that can be built with host terminal100are described in further detail. In that data package300can be manipulated and managed as a single file, or encoded into a dataform and can include a complex arrangement of data, system1000provides for the rapid transfer of a complex set of data to data collection terminal10, or a set of such terminals.

Referring toFIG. 3a, data package3000can be built by host computer100, and can include various data, including command data set3040and file data set3050. File data set3050can include file data corresponding to executable files (.EXE), image files (.JPG, .TIF, .BMP), and audio files (.WAV)). File data of data package3000can also correspond to custom built XML configuration files built with use of host computer100in accordance with XML configurator module1024. When building of an XML file for use in configuring a device of data collection terminal10, host computer100can edit an existing XML file such as an XML file stored on computer100, terminal10, another computer of a local network in which host computer100is disposed, or another computer of a network disposed remotely and off-site relative to host computer100. Where encryption and compression options are selected during the building of data package3000, data package3000can also include an encryption selection data3020and a compression selection data3030. In a further aspect, data package3000includes a data package header3010. Encryption selection data3020indicated in the data package ofFIG. 3ais global encryption selection data indicating that global encryption for data package3000has been selected and compression selection data3030is global compression selection data indicating that global compression has been selected for data package3000.

Data package3000built by host computer100can also include file data specific and or command data specific encryption and compression selection data for indicating that one or a limited number of file data and/or command data of a package file are to be encrypted and/or compressed. Referring to aspects of package3000-1, it is seen that encryption selection data3020is not encrypted but that data following encryption selection data3020are encrypted in accordance with the encryption selection information of encryption selection data3020. Similarly, while compression selection data3030is not compressed, all data following compression selection data3030are compressed in accordance with the compression selection information of compression selection data3030. The architecture of an exemplary data package3000is described more fully in connection withFIG. 3b.

Referring toFIG. 3b, data package header3010includes data set version or “VER” field3012, data flags field3014, and checksum field3016. Data flags field3014includes the flags and indicators discussed in connection with Table 1 herein. Among the flags of flag field3014is a flag indicating whether data collection terminal10will prompt a user to enter a password so that processing of data package3000-2can proceed. InFIG. 3b, the number of bytes in each field is indicated by the number in parentheses. For example, data flag field3014can include four bytes of data.

Referring to encryption selection data3220, encryption selection data3020can include ID field3022, VER field3024, body length field3026, and encryption scheme field3022including an identifier for the selected encryption scheme. The body length field3026can indicate the set of ensuing bytes of a data package3000that will have been encrypted at host processor100and which will require decryption at terminal10. A flag indicating that a password is required can be included in encryption scheme field3022. Also, some encryption schemes such as Symmetric encryption normally require a password. Accordingly, an action indicator indicating that a password is to be prompted for at data collection terminal10can be included into field3022by including therein an indication of a certain type of encryption scheme. In encrypting data host computer100can execute, e.g., RC2 block cipher encryption, RC4 block cipher encryption, DES block cipher encryption and/or triple DES block cipher encryption. When a password is entered, host computer100can use the password to encrypt data of the data package.

Referring to compression selection data3030, compression selection data3030can include ID field3032, VER field3034, body length field3036, and field3038indicating an uncompressed size of the data being subject to compression prior to compression. The body length field3036can indicate the set of ensuing bytes of a data package3000that will have been compressed at the host computer100and which will require decompression at terminal10. In compressing data, host computer100can execute, e.g., run-length compression Huffman-coding compression, and/or Lempel-Ziv compression.

Referring to command data set3040, header3041of command data set3040can include ID field3042, VER field3044, body length3046and flag field3048including control flags as are selected by a user of system1000during the building of data package3000. Command data set3040also includes command data3045such as data corresponding to a command line which is input into a data entry field of host computer100for transfer to data collection terminal10. Flag field3048includes the flags and other indicators described in connection with Table 3 herein.

Referring to generic file data set3050, header3051of generic file data set3050includes ID field3052, VER field3054, body length field3056, and flag field3058as are selected by a user of system1000during the defining of data package3000. Date and time field3053indicate the date and time the file corresponding to file data set3050was selected for inclusion in package file3000. File data set3050also includes file name field3055indicating the name of file selected for transfer to data collection terminal10and file data field3057corresponding to the selected file selected for transfer to data collection terminal10. Included in file name field3055can be a designated directory of data collection terminal10which can be designated by a user using data entry field8832(FIG. 8g). When file data3057of data package3000is processed by data collection terminal10, data collection terminal10rebuilds on terminal10the file selected for transfer to terminal10. The file may be first rebuilt in a working memory of terminal10, and then transferred to memory storage device, specifically in the directory designated in field3055set by a user. Flag field3058includes the flags and other indicators described in connection with Table II herein.

Referring to specific XML configuration file data set3050-1, specific XML file data set3050-1has essentially the same structure as generic file data set3050except as indicated by reference element3059. File data3054of specific XML information3050-1includes binary data mapped to XML ASC II data.

While the data package3000-1described with reference toFIG. 3aincludes encryption selection data3020, compression selection data3030, command data set3040, and generic file data set3050corresponding to two generic files, and a specific XML file data set3050-1, it will be understood that host computer100incorporating packaging module1006can be utilized to build data packages having information corresponding to a fewer number of files and commands. For example, referring toFIG. 3chost computer100can be utilized to build a data package3000-3including a single data set; namely, a command data set3040. The illustrative embodiment ofFIG. 3cillustrates the use case wherein host computer100is utilized to select a command line for transfer to and execution by a data collection terminal10. Command lines that are designated at host computer100for execution by data collection terminal10can include command lines e.g., to open a file using a certain executable file, to open a browser to request data from an external device, to commence an FTP session to transfer a file from device10to an external device, or to send an FTP request to an external device to request a file from an external device. When a command line is selected for transfer to data collection terminal host computer100includes command data into a data package3000. In turn, data collection terminal10processes the command data of the data package to rebuild the command line and to run the command line in that same manner that it would execute the command line if the command line were entered into a command line prompt of data collection terminal10. Command data sets of data package3000can include data corresponding to script commands as well as command line commands.

Referring to the illustrative embodiment ofFIG. 3d, data package3000-4includes encryption selection data3020and XML configuration file data set3050-1including XML file data and header data associated with the XML file data. When data package3000-4is processed at receiving data collection terminal10, XML configuration file data set3050-1can be parsed for use in reconfiguring a device of data collection terminal10such as a radio transceiver device of data collection terminal10or an encoded information reader device such as bar code reader device14. Specifically, in accordance with parsing module5046data collection terminal10can reconfigure a device by parsing an XML document rebuilt at data collection device10and passing parameter settings of the XML document to internal registers of terminal devices such as radio transceiver device e.g., device62or encoded information reader device12, or can retain the XML configuration file in a memory location for access by a program operating the device, or can reconfigure a device using the XML file by another method. Data collection terminal10can also pass parameter value settings of an XML configuration document to Registry where the terminal10has a WINDOWS (e.g., WINCE, WINDOWS XP) operating system, and the parameter settings can be accessed by programs running on the device such as the operating system, other system level programs and application level programs. Such other programs can control operation of a device or may not control operation of a device. For reasons that will be discussed further herein an XML file format provides significant advantages in the process of reconfiguring devices of device10. Specifically, XML files, like REG files have a multi-tiered hierarchy and thus are well adapted for use in updating parameter settings of a Registry. Also, XML files can be processed using widely available XML processing Application Program Interfaces (API's) that can include a set of preconfigured dynamic link libraries (DLLs) and other libraries. XML APIs are widely available and freely downloadable. An originally authored XML parsing application can make use of third party libraries specially made for parsing XML documents. Still further XML files are self-describing. The inventors noted that descriptive data as is exemplified by the “desc” attribute in the exemplary XML documents of Table 1 and Table 2 can readily be included into XML documents in such manner that the descriptive data can be readily parsed out.

Referring to the illustrative embodiment ofFIG. 3e, data package3000-5can include compression selection data3030, a first XML file data set3050-1,3050-1A and a second XML file data set3050-1,3050-1B. Host computer100can be utilized to build a data package as shown inFIG. 3ewhen more than one device of a data collection terminal10requires reconfiguration. For example, a data package in accordance withFIG. 3emay be built by host computer100when both cellular radio transceiver device68and Bluetooth transceiver device62of data collection terminal10require configuration. Data package3000-5also includes user defined data set3060which comprises data other than file data or command data. Such user defined data can be e.g., a predetermined text message for display on display32which is not formatted in any file format as described previously herein. User defined data set3060can comprise a header indicating that the data set is a user defined data set.

InFIG. 3fa complex data package3000-6of the type that can be readily made with use of system1000is shown. In the illustrative data package ofFIG. 3f, the elements are labeled in duplicate with generic and specific reference elements so that characteristics of the data package can be better described. For example the element labeled generically as encryption selection data3020is also given the reference numeral3020A for purposes of distinguishing it from the element labeled3020and3020B Complex data package3000-6has uneven (inconsistent) compression across file data of the data package. In data package3000-6, one file data set3050-1A (the first ordered file data set of the data package) has one layer of encryption and one layer of compression, one file data set3050-1B has two layers of encryption and one layer of compression, one file data set3050has one layer of encryption and two layers of compression, and the command data set3040has one layer of encryption and one layer of compression. With global encryption and compression turned OFF, a data package built by host computer100can be in the form of data package3000-7as shown inFIG. 3g. In data package3000-7ofFIG. 3g, the first ordered file data set3050-1(from left to right) has no layers of encryption and no layers of compression, the second ordered file data set3050-1has an encryption layer but no compression layer, the third ordered file data set3050has a compression layer but no encryption layer and the command data set3040has no encryption layer or compression layer.

In accordance with de-packaging module544data collection terminal10processes a data package3000that has been received by data collection terminal10. It has been described that in receiving the data package3000, data collection terminal10can either (i) receive the data package typically in a file form over a communication path or (ii) decode a decodable dataform into which the data of the defined data package3000has been encoded with use of host computer100. In de-packaging a data package3000, data collection terminal10can decrypt and decompress file data and command data of the data package3000to rebuild files and commands selected for transfer into a buffer memory of data collection terminal10. In de-packaging a data package3000, data collection terminal10can further take action with respect to rebuilt files selected for transfer and rebuild commands selected for transfer in accordance with action indicators included in the data package3000. Data collection terminal10can be configured to de-package a data package automatically; that is, decrypt and decompress any file data and any command data of a data package and carry out the action of any action indicators of a data package at the time that it is received at the data collection terminal (either by way of file transfer over a communication path, or by way of dataform decoding) without requiring receipt of any further user input commands after the receipt of the data package. Specifically, data collection terminal10can be configured to automatically de-package a data package on receipt of the data package pursuant to a file transfer over a communication path and can be further configured to automatically de-package a data package when a data package is rebuilt pursuant to a dataform being decoded as may be initiated by trigger24(FIG. 1a) being depressed. Also, data collection terminal10can be configured so that if a data package in file form already resides in a memory data collection terminal10such as storage memory45pursuant to a previous file transfer, an application can be initiated by inputting a command into terminal10(e.g., by pressing de-package button2504(FIG. 1h).

Flow diagrams illustrating operation of data collection terminal10in de-packaging a data package3000are described with reference toFIGS. 4aand4b. Data collection terminal10at block4102opens data package3000residing in file form in a buffer memory and at block4104processes the one or more “data entities” of the package. “Data entities” as used herein is a generic term to refer to encryption selection data, compression selection data, file data set data, command data set data and any other user defined data set data that may have been included into a data package3000. In general data collection terminal10processes data entities in an order determined by the ordering of the data entities in the package.

An illustrative manner in which data collection terminal10can process the data entities is described with reference to the flow diagram ofFIG. 4bin connection with the data package3000-6described in connection withFIG. 3f. At block4108data collection terminal10starts the process of processing a set of one or more data entities and at block4108data collection terminal10gets a next data entity. If global encryption has been selected as in the data package3000-6ofFIG. 3fthe first encountered data entity will be encryption selection data3020A. In accordance with decision block4110data collection terminal10on determining that the current data entity is encryption selection data collection terminal10will proceed to block4114to prompt a user to enter a password if password access has been selected. If the decryption is not permitted (e.g., because of a wrong password) terminal100may display a wrong password message. If a proper password has been entered, data collection terminal100can proceed to block4122to decrypt all data entities required by to be decrypted by the preceding encryption selection data, which if the encryption selection data is encryption selection data3020A of the data package3000-6ofFIG. 3fwill be the data entities3030A,3050-1A,3020B,3050-1B,3030B,3050, and3040. Data collection terminal10can be configured as indicated by blocks4114and4118to execute an error process if decryption is not successful. In buffering the decrypted data entities3030A,3050-1A,3020B,3050-1B,3030B,3050, and3040data collection terminal10as is indicated by block4120can be regarded to have built one or more data entities, namely a set of data entities that are the decrypted version of a set of data entities previously encrypted.

Terminal10then returns to block4106to recursively start processing the set of data entities built at block4120in the manner of the data entities of the original package. If the data package3000-6is being processed, the next data entity that is got at block4108is the first data entity of the set of data entities built at block4120, namely global compression selection data3030A, now in unencrypted form. In accordance with decision block4130, terminal10will proceed to block4134to decompress all data entities required to be decompressed by compression selection data3030A, which in the example of the data package3000-6ofFIG. 3fwill be the data entities3050-1A,3020B,3050-1B,3030B,3050, and3040. In buffering the set of decompressed data entities data collection terminal10can be regarded to have built a set of data entities as is indicated by block4135, namely the set of data entities3050-1A,3020B,3050-1B,3030B,3050, and3040in decompressed form. Terminal100then returns to block4106to recursively process the set of data entities built at block4135in the manner of the data entities of the original data package.

Terminal10then proceeds to block4108to get a next data entity, namely the first data entity of the set of data entities build at block4135. In the example of data package3000-6the next data entity is configuration file data set3050-1A, previously encrypted and compressed, now decrypted and decompressed. On determining at decision block4142that a configuration file is being handled data collection terminal10will proceed to block4144to process the configuration file. In processing the configuration file terminal10may e.g., pass parameters to a WINDOWS Registry or store the file to an appropriate directory where parameter settings of the file may be accessed by a program such as a program operating a device. Also at block4144terminal10can carry out all action required of the flags and the action indicators of the configuration file data set. One action indicator can be an action indicator indicating that a rebuilt configuration file is to be stored in a certain directory. Terminal10then returns to block4108to get a next data entity. On completing processing at block4144terminal10proceeds to block4124to determine if there are additional data entities in the set of data entities currently being processed. Still referring to the data package3000-6ofFIG. 3f, a next data entity to be processed in the ordering of the data package is encryption selection data3020B, previously encrypted and compressed now decrypted and decompressed. In processing encryption selection data3020B, terminal10will decrypt all data entities required to be decrypted by encryption selection data3020B; namely, configuration file data set3050-1B at block4120buffers configuration file data set3050-1in decrypted form. Terminal10will then return to block4106to recursively process the data entity built at block4120in the manner of the data entities of the original data package. Terminal10will then proceed to block4108to get the next data entity, namely configuration file data set3050-1B, previously twice encrypted and once compressed now unencrypted and uncompressed. On determining at decision block4142that a configuration file is being handled data collection terminal10will proceed to block4144to process the configuration file. In processing the configuration file terminal may e.g., pass parameters to a WINDOWS Registry or store the file to an appropriate directory where parameter setting of the file may be accessed by a program such as a program operating a device. Also at block4144terminal10can carry out all action required of the flags and the action indicators of the configuration file data set.

Terminal10then returns to block4108to get a next data entity as determined by the ordering of the data entities in data package3000. In that there are no data entities remaining in the set of data entities built at block4120a next data entity of the data package is compression selection data3030B, previously encrypted and compressed, now unencrypted and uncompressed. In determining that compression selection data is being handled at decision block4130, terminal10proceeds to block4134to decompress all data entities required to be decompressed by compression selection data; namely, file data set3050of data package3000-6and builds a data entity at block4135(the decompressed version of file data set). Terminal10then proceeds to block4106to recursively process the data entity built at block4135in the manner of the original data package and then proceeds to block4108to get the next data entity of data package3000-6; namely file data set3050, previously once encrypted and twice compressed, now unencrypted and uncompressed. On determining that a file data set3050is being handled at decision block4146terminal10proceeds to block4148to process the file data set3050. At block4148terminal10can carry out the action of the action indicators of the file data set. Namely, terminal10can store a file corresponding to file data of the file data set at a specified directory of terminal or may carry out another action indicator of file data set3050, such as delete the file from the buffer memory, or execute the file if the execute file flag is raised.

Terminal10then returns to block4108to get the last data entity of data package3000-6, namely command data set3040previously compressed and encrypted now decompressed and decrypted. On determining that a command data set is being handled at block4138data collection terminal10proceeds to block4138to execute the command. If a data package3000includes a data entity comprising user defined data other than file data or command data, data collection terminal10in determining that such a data entity is present (block4150) can proceed to block4145to pass the user defined data to a defined process. Such user defined data can be e.g., a predetermined text message for display on display32which is not formatted in any file format. Terminal10can be configure so that on recognizing that a data entity is user-defined data not corresponding to any file or any command, terminal10at block4154initiates an application to process the user-defined data (e.g., display a message on display32).

It is seen that the processing described in relation to the flow diagrams ofFIGS. 4aand4bare recursive; that is, where a data package that is processed includes more than one set of encryption selection data and more than one set of compression selection data, data collection terminal10will recursively execute decryption and decompression processes the number of times that is necessary to completely decrypt and decompress each file data set, each command data set and each user defined data set of the data package. In certain instances, as in the example described in connection withFIGS. 4aand4bwith reference to data package3000-6where data of a data package has multiple levels of encryption and multiple layers of compression, data collection terminal10can recursively decrypt data of a data package previously subject to decryption and can recursively decompress data of a data package previously subject to decompression. The processing is recursive for the further reason that at several times during the processing, sets of one or more data entities are built and applied to a common process in the manner of the data entities of the original data package.

When receiving a data package by way of decoding a dataform including a plurality of parts, such as a dataform including a plurality of bar code symbols, data collection terminal10can assemble fields corresponding to each part in an ordering appropriate to rebuild the data package. Referring now toFIG. 3h, operation of host computer100in accordance with encoding module5012when a dataform includes multiple bar code symbols required for encoding or selected for encoding is described. When host computer100determines that multiple bar code symbols are required for encoding or have been selected for encoding host computer100divides the data of data package3000into M equal portions where M is the number of bar code symbols to encode. Host computer100can attach a bar code header3071to each of the M data blocks. Field3072of header3071indicates bar code version, field3073includes an ECDFG signature, field3074includes the status of bar code flags as are controlled by input into the graphical user interface display screen ofFIG. 5, field3075includes a bar code set ID, field3076includes a bar code index, i.e., which bar code of the present bar code is the present bar code, and field3077includes the number M, the number of bar code symbols in the present bar code symbol set. Further aspects of the graphical user interface display screen ofFIG. 5, and other GUIs that can be incorporated in system1000are described herein. Referring toFIG. 6, characteristics of an output interface module of data collection terminal10are described. Data collection terminal10may display a status window indicating the status of processing being performed by data collection terminal10respecting the received data package. As indicated byFIG. 6, data collection terminal10can display in accordance with and output interface module graphical user interface window6032. Graphical user interface window6032displays at area6002which bar code symbol of a present bar code symbol set is being read or has recently been read. Device10in window6004may display such data as data indicative commands currently being executed by data collection terminal10. At area6010a user of system1000may check on a log parameter. At area6012a user may click on a save local copy parameter. At area6014a user may click on and accept an unsecured parameter. At area6116a user may click on an illumination parameter.

With further reference to the screen shot view ofFIG. 5, host computer100displays on display132a bar code that is encoded by encoder5012. Referring to further aspects of the graphical user interface window7013shown inFIG. 6a, data entry field5022can be used to designate the symbol type to be encoded by encoder1026. Data entry field5024can be used to select an “undercut” flag and data entry field5026can be utilized to select a “resolution” action indicator. Data entry field5028can be used to indicate whether data collection terminal10when reading the encoded symbol is to emit a beep via audio output device33and data entry field5030when checked on results in host computer100building a flag into an encoded data package indicating that data collection terminal10is to display decoded out message data on decoding. In data entry field3052a user can designate a maximum bar code size for a bar code symbol to be encoded and utilizing data entry fields3036and5038a user of system1000can indicate whether the user would like to force the number of bar codes created to a fixed number. If an user of system1000checks on data entry field5036to indicate that there will be a specific number of bar codes encoded, the user may utilize data entry field5038to indicate the number (e.g., 2, 4, 10, N) of bar codes (bar code symbols) that are to be created by the bar code encoding process carried out by host computer100in accordance with encoding module5012. As data of the data entry fields is changed by a user, host computer100automatically encodes a new bar code symbol or a new set of bar code symbols in accordance with the newly selected action indicators and host computer100automatically displays a first of the newly encoded symbols in display area window5070of graphical user interface window7013. Host computer100can also be made to display in areas5070each symbol of a set of symbols in succession (i.e., one after another) at a common location of display132. One or more data collection terminals can be positioned to read the successively displayed bar codes displayed at the common location. Thus, multiple bar codes can be read at high speed without movement of data collection terminal10. A data package file3000can be transferred to a data collection terminal10by reading the bar code symbol or symbols displayed on display132using the data collection terminal10. The one or more symbols can be read by data collection terminal10when the symbols are displayed on display132, or when symbols have been printed on a transportable medium.

When a file rebuilt at data collection terminal100is an extensible markup language configuration file, data collection terminal10in accordance with parser module5042can utilize the file to reconfigure a subsystem of data collection terminal10. In utilizing a configuration file to reconfigure a subsystem of data collection terminal10data collection terminal10can utilize the configuration file to reconfigure a device of data collection terminal10such as a bar code reader device14or a radio transceiver device62or another device. Data collection terminal10can reconfigure a device with use of a configuration file, for example, by (i) parsing a parameter setting of the file and passing the parameter to a hardware component associated with the device without modifying a program running the device; (ii) parsing a parameter setting of the file and passing the parameter to a program controlling operation of the device; (iii) parsing the parameter setting and passing the parameter setting to a file (such as an INI or Reg file) that is accessed by a program running the device; (iv) parsing the parameter setting and passing the parameter to a memory location other than a file memory location (such as WINDOWS Registry or a device memory, i.e., a register) that is accessed by a program running the device, the program being run by a processor of the terminal or of the device; or (v) retaining the configuration file in such manner that parameter settings of the file are accessed by a program running the device. In a specific example with reference to (iv) above a driver parameter setting can be parsed from a configuration file and can be passed to a Registry, where it is accessed by a driver. Data collection terminal10can also utilize a configuration file to reconfigure a subsystem of data collection terminal10by utilizing a configuration file to reconfigure a program of device10without affecting operation of a device of terminal10. For example, in one embodiment, data collection terminal10can parse a parameter setting and pass the parameter setting to a WINDOWS Registry, for access by the operating system or by another program (system or application level) where access of the parameter does not result in control of operation of a device being affected. The term “WINDOWS Registry” herein is used to refer to the Registry of any computer having an operating system in the WINDOWS family of operating systems, e.g., WINDOWS XP, WINCE, etc.

VI. Communication Networks

Referring now toFIGS. 2athrough2d, various technologies for providing communication between host computer100and terminal10are described. Referring toFIG. 2a, host computer100and data collection terminal10can be in communication by way of a serial cable170, e.g., an RS 232 cable keyboard wedge, USB cable or an ETHERNET cable. Data packages can be transmitted from host computer100to data collection terminal10over serial cable170utilizing a higher layer protocol (e.g., FTP or lower layer protocol EG ETHERNET over USB). Referring toFIG. 2b, host computer100can send data package3000to data collection terminal10utilizing a pair of wireless transceivers. For example, host computer100and data collection terminal10can each incorporate the Bluetooth radio transceiver for providing point to point wireless data communications or 802.11 radio transceivers, in an ad hoc data communication mode for providing point to point data communications between host computer100and terminal10. Higher layer protocols (e.g., the File Transfer Protocol, FTP) can be utilized to transfer data packages from host100to data collection10in the arrangement shown in the wireless point to point arrangement shown inFIG. 2b. ACTIVESYNC software available from MICROSOFT, INC. can be integrated in host100and data collection terminal10to provide synchronization between host computer100and data collection terminal10. ACTIVESYNC facilitates data communication over a range of physical communication links, e.g., USB, ETHERNET, 802.11 and IrDA. An FTP data communication session is a selectable option facilitated using ACTIVESYNC. However, non-IP based data communications are also supported using ACTIVESYNC. Referring toFIG. 2c, host computer100and data collection terminal10can be part of a common local area network300having an ETHERNET backbone1720and an 802.11 access point210and printer17connected to ETHERNET backbone172. All of the apparatuses,10-1,10-2,10-3,210and17can be allocated IP addresses and each of the apparatuses can be configured to conduct data communications utilizing the TCP/IP protocol stack. Accordingly, where the host computer100that builds data package3000is host computer100-1as shown inFIG. 2c, host computer100-1and data collection terminal10is data collection terminal10-1in wireless communication with access point210, data packets containing data of data package3000may be transmitted utilizing the file transfer protocol over the hop sequence100-1,210,10-1. If the designated data collection terminal is data collection terminal10-2, the hop sequence for data communication before an FTP file transfer can be the hop sequence100-1,210,10-2wherein access point210and data collection terminal10-2are wireline connected via wireline bus172. Referring to the view ofFIG. 2d, a host computer100that builds data package3000can be a remote host computer located miles to thousands of miles from the facility at which the designated data collection terminal10is located. Where system1000includes a remote host computer100, e.g., computer100-5that builds data package3000, and a data collection terminal10receiving a data package is at a location of local area network300, system1000can be operated by two users; namely, one user at a location of a remotely located network400and a second user at a location of local area network300. Of course, system1000can have more than one user implemented entirely using local area network300. When host computer100of system1000is local device100-1, and data collection terminal100is local terminal10-1, files selected for packaging in data package3000can be located in a remote computer, e.g., computer100-5,110-6,100-10. Referring further to the view ofFIG. 2d, data collection system1000can include a plurality of local area networks local area network300, which may be located at e.g., at a retail store, a hospital or other patient care center, or a shipping distribution center, local area network600, server center500, and server center400. Networks300,400,500, and600may be physically located miles to thousands of miles away from one another. As indicated in the view ofFIG. 2d, networks300,400,500,600can be in communication with one another over IP network900which, in one embodiment, is the Internet. Local area network600and/or server center500can be network owned and operated by a supplier of data collection terminal10, e.g., a manufacturer or distributor of data collection terminal10. Suitable gateways350,450,550and650are provided between the various local networks and IP network900. In addition, cellular network800which can be a GSM/GPRS network can support data communications over the TCP/IP protocol stack. Cellular network800can be in communication with IP network900via gateway850. Host computer100and data collection terminal10can be in communication with base stations of cellular network800via cellular transceiver186and cellular transceiver68, respectively. In accordance with system1000in one illustrative embodiment, the host computer that builds data package file3000for transferring to data collection terminal10is host computer100-5at server center400and the data collection terminal10designated to receive the data package is terminal10-1, at a location of local area network300. Local area network300can be integrated at e.g., a data collection facility such as a shipping distribution center, a retail store, a hospital or a patient care center. In such an illustrative embodiment, data collection terminal10and host computer1050can be controlled to send a data package built by host computer10-5to data collection terminal10-1over a path that includes gateway350and which utilizes the File Transfer Protocol (“FTP”). Host computer100-5in the illustrative embodiment can also be controlled to send the data package3000to data collection terminal10-1over a data communication path that includes cellular network800, e.g., a direct cellular network data communication or a data communication over a path that includes gateway450, IP network900, gateway850and cellular network800, or a path that includes access point210, gateway350, IP network900, gateway850, and cellular network800.

VII. Building of Extensible Markup Language Configuration Data and Data Packages Including Configuration Data

Further aspects of system1000, and particularly of the manner in which host computer100can be used to build extensible markup language configuration data, are described in reference to the XML document shown in Table 1 and the screen shots ofFIGS. 7a-7l. In Table I, data of an exemplary XML configuration document file, when opened by a text editor is shown. Table 1 andFIGS. 7athrough7lillustrate a method and apparatus whereby an XML document file with use of host computer100can be built. In one method, a configuration file can be built by editing an existing configuration file and them transferring in whole or in part the edited configuration file to data collection terminal10. An illustrative XML document file (shown in a form when opened by a text editor) for use in configuring devices of data collection terminal10is shown in Table 1 herein below:

It is seen that the XML document of Table 1 includes a plurality of nested elements wherein several of the elements have one or more attributes. It is seen the root element has the start tag:

Further, child elements include elements having the start tags:

Further, grandchild elements including the elements have the start tags:

Further, great grandchild elements include elements having the start tags:

Further, great, great grandchild elements include the elements:

And the elements having the start tags:

One great, great, great grandchild element of the XML file of Table 1 is the element:

<Key flags=“17” desc=“Indicates the authentication mode touse:&#xA;0 = Open (WEP keys are not used to establish link)&#xA;1 =Shared (Uses WEP keys to establish link)&#xA;2 = Automatic(autodiscriminates between Open and Shared)”name=“Authentication”>0</Key> (Note 6.0)

In the illustrative XML document file of Table 1, elements are nested in six layers. In the illustrative XML file of Table 1, each element has a plurality of attributes. Specifically, each element is defined to have a description element, “desc,” and a name element, “name.” Several elements also have range attributes i.e., min=1, max=10 or min=0 and max=1. Several elements also have parameter setting values (parameter settings). Parameter setting values in the XML file of Table 1 are included as simple XML text content before the end tag “</key>” of each key designated XML element.

Certain of the elements have start tags designating the elements as “section” elements and certain of the elements have start tags designating the elements as “key” elements. It will be seen that host computer100processes an element designated as a “section” element in a different manner than the elements designated as being “key” elements.

With further reference to the XML document file of Table 1, it is seen that several “section” elements of the XML document file include “name” attributes indicating a specific device of data collection terminal10. For example, the XML document file of Table 1 includes an 802.11b element which has the “name” attribute “802.11b,” a Bluetooth has the “name” attribute “Bluetooth,” a GSM element has the “name” attribute “GSM,” and a battery element has the “name” attribute “Battery.”

For each of the above device specific XML elements, there are included at least one child element (one level down in hierarchy) that is designated as a “key” XML element which includes a parameter setting value that may be changed by a user using host computer100. In the illustrative embodiment of Table 1, the parameter setting values are included as XML content just before the end tag of each “key” designated XML element. The “802.11b” element in the file of Table 1 includes the key designated child elements “Enable,” “SSID,” “EPSPARM,” “NetworkType,” “TxRate,” and “Channel” among others (the XML elements are referred to by their “name” attributes). Each key designated child element has a parameter setting value that can be changed. For example, the present parameter setting value of the “Enable” element is “0,” the present parameter setting value of the “SSID” element is empty and the present parameter setting value of the “EPSPARM” element is “1.” Several of the key designated elements have ranges defined with uses of key element attributes.

Respecting the configuration specific element having the name attribute “Battery” corresponding to battery96, the battery element of the Table 1 XML file has several key designated child elements, each including a parameter designated with use of simple XML text content. The child elements of the “Battery” element include a timeout parameter element including a parameter for setting a backlight timeout delay, a backlight intensity element including an XML content defined parameter for setting backlight intensity and an auto-on element including an XML content defined parameter setting value determining whether battery96will supply power to a backlight of display32when touch screen25is activated. All of the described parameters control an aspect of the manner in which battery96will operate.

Referring to further aspects of the XML configuration document file of Table I, the XML configuration document file can include flags designating (i.e., “flags” attributes) elements as being “enabled” or “disabled.” These flags can be changed to disable or enable the elements by entering data into graphical user interface display screen window7001as described herein. Host computer100can be configured so that when a “simplify” XML flag is raised using data entry field8868(e.g.,FIG. 7g) described herein, disabled elements are deleted from the XML document file. Description text of an XML file can also be deleted when the simplify flag is raised. Referring now to the screen shots ofFIGS. 7athrough7k, operation of host computer100operating in accordance with XML configurator1024which includes an XML parser for parsing XML files such as the XML document file of Table 1 will be described. Referring toFIG. 7a,FIG. 7ashows a graphical user interface window7001displayed on display132of host computer100when an executable file launching XML configurator module1024is executed. The graphical user interface screen main window7001ofFIG. 7aincludes four windows; namely, a tree diagram window7002, a tree comment window7004, a parameter setting window7006, and a parameter setting value setting comment window7008. Parameter setting values (parameter settings) for controlling operation of a device can be set using window7008.

Referring to the view ofFIG. 7b,FIG. 7bshows a graphical user interface window7003displayed on display132when file button710is clicked on. Window7003enables the user of system1000to select a starting XML document to be operated by host computer100. Clicking on button7014enables selection of an XML document file. When open button7014is clicked on, a file selector window7005(FIG. 7c) is displayed on display132so that any file accessible within the network in which host computer100is incorporated can be selected. For example, any file on a hard drive145of host computer100(e.g., the host C: drive) can be selected. Also with the reference toFIG. 2d, if host computer100is IP connected to a plurality of remotely located local area networks such as networks400,500, and600, any file stored on a remotely located local area network400,500, or600or in an external computer of local network300can be selected. With integration of certain software such as virtual private network (VPN) software between local network300and one of remote networks400,500, and600remotely located files, e.g., those stored on a computer of remote network can easily be selected with use of a file selector window7005as show inFIG. 7c. Referring toFIG. 2d, the XML file that is selected when button7014is clicked on can be a file currently stored in e.g., computer110-1,100-1,100-2,110-2,100-5,110-6,100-7,100-10,110-10.

Referring to further aspects of the graphical user interface display screen window7003ofFIG. 7b, clicking on a button7016facilitates the selection of a file currently stored on host computer100and data collection terminal10. If data collection terminal10is already IP connected to host computer100and system1000is configured so that files on terminal10appear in file selector window7005, files stored on data collection terminal10can also be selected by clicking on button7014as described previously. In a specific embodiment, button7016can be used to select files stored in a directory of device10, when there is an ACTIVESYNC connection between host computer100and terminal10. ACTIVESYNC is proprietary software available from MICROSOFT, INC. which provides synchronization between serially connected devices connected over, e.g., USB, ETHERNET, IR, or another serial connection.

According to system1000, host computer100can also be configured to process INI files into XML format. Clicking on button7018imports an INI file and enables the processing of an INI file located anywhere on the network ofFIG. 2dprocessed into XML format. Clicking on button7020enables the selection of an INI file currently stored on data collection terminal10processing into XML format. A program for passing parameter value settings (usually encoded as “values”) of an INI file into an XML document file, can be programmed using any suitable programming language, e.g., C, C++, C#.

Referring toFIG. 7c, a file selector graphical user interface display screen window7005is shown in the state after open button7014as shown inFIG. 7bis clicked on. Referring toFIG. 7c, system1000can be configured so that when button7014is clicked on, XML files stored in a specific directory for holding such files are automatically displayed. It is noted that a set of specially developed XML files, specially developed for use in system1000are displayed in the screen display ofFIG. 7c. the XML files displayed all have the extension “.EXM”. It is understood that XML files can be given any extension including the extension “.XML” commonly given to XML files. However, giving the XML files extensions other than “.XML” specially designated for use with system1000is advantageous. Specifically, when de-packaging a data package file as described herein data collection terminal10can examine the file extension of the XML in order to process XML files having EXM extensions in manner differently from XML files having XML extensions. For example, data collection terminal10can be configured to always attempt to one of store an XML file having and EXM extension into a pre-specified configuration file directory or automatically parse parameters settings of an XML file having an EXM extension on de-packaging. Host computer100can also examine the file extension of an XML file when determining a GUI display screen to display on display132. For example if an EXM file is selected for transfer to terminal10, a fists type of GUI display screen can be displayed on display132. If a non-EXM XML file is selected for transfer a second type of GUI display screen can be displayed on display having a different set of action indicator data entry fields.

While in the specific embodiment illustrated with respect toFIG. 7c, the contents of the directory “EasyConfigEditor” are displayed in window7005on display132, the contents of an alternative folder could also be displayed, by navigation using folder button7022and other navigating buttons provided with a WINDOWS operating system.

Clicking on button7022and other navigational buttons that are part of Windows XP file management platform enables the display of alternative directories, including directories stored on a computer external to computer100, e.g., computer110-1, computer100-5, or computer110-10(FIG. 2d).

Referring toFIG. 7d,FIG. 7dshows a graphical interface display screen window displayed on display132of host100after an XML file is selected.FIG. 7dshows the information of window7001displayed on display132after an XML file is selected using file selector graphical user interface display screen window7005.

The XML document file “DEVICECONFIG.EXM” is the XML file illustrated in Table 1. When the XML file DEVICECONFIG.EXM is selected, host computer100parses data of the XML file then presents data from the XML file in the manner illustrated inFIG. 7d. Within tree window7002host computer100in accordance with XML configurator displays the name “attribute” of each section designated element of the DEVICECONFIG.EXM file. In tree window7002, each XML element designated as being a section element is represented. Further, each XML element designated as a section element is expressed according to the hierarchy of the XML document file. That is, in accordance with XML configurator1024, the nesting hierarchy of the XML file document shown in Table 1 is repeated in the display of tree widow7002. It is seen that new elements for display on display7002can be created simply by writing additional XML code in accordance with the desired nesting format.

Referring to window7004defined text of a description (“desc”) attribute of the root XML element is automatically displayed when the XML file is selected.

Referring to the XML document file of Table 1, the “desc” attribute associated with the root XML element is the descriptive text “Configuration file for general device settings.” Accordingly, as seen in the screen display ofFIG. 7d, the text “Configuration file for general device settings” is automatically displayed in window7004when the XML document file is selected. However, as will be demonstrated further herein, when a name corresponding to a non-root element displayed in tree window7002is clicked on, text of a “desc” attribute is in the illustrated embodiment automatically displayed in window7004in accordance with the XML element associated with the name that is clicked on. For example, specifically with reference toFIG. 7e,FIG. 7eshows a graphical user interface display screen displayed display on display132of host computer100when a particular name (name button) within tree display window7002is clicked on. When a name or (name button) displayed in window7004is clicked on, host computer100displays on display132in parameter setting value setting window7006, the name attribute and present parameter setting values of each key designated child element that is in child relative to the element selected by clicking on of a name in window7002. Specifically, if a selected name displayed in window tree area7002has child elements XML child elements associated with it that are designated as being “key” XML elements, host computer100in accordance with XML configurator1024displays in area7006name attributes and parameter setting values associated with those XML child elements.

Referring to the screen display ofFIG. 7e, name7024, is the name taken from an XML “section” designated element having a plurality of key designated sub-elements (child element). Accordingly, when the name (which can be formatted as a button) having the text “802.11b” designated with the reference numeral7024is clicked on, names associated with all of key designated sub-elements of the XML element having the name “802.11b” are automatically displayed in window7006in association with any parameter of those key designated XML elements. Referring to window7006ofFIG. 7e, host computer100is configured so that parameters can be changed by double clicking on a parameter setting value of window7006and editing the displayed data using keyboard122. Host computer100displays in comment window7004and comment window7008text that is parsed from “desc” attributes of certain XML elements of XML file of Table 1 in accordance with name buttons of window7002and/or window7006that are clicked on.

Specifically, if the 802.11b name button designated with reference numeral7024is clicked on, host computer100in accordance with XML configurator1024displays in window7004the designated “desc” attribute of the XML element having the designated name 802.11b. In the example given, the text displayed in area7004is the text “802.11b radio settings.” Similarly, host computer100in accordance with XML configurator1024displays in window7008text of the “desc” attribute of the XML element having the name displayed in area7006that is clicked on. For example, when the name “DHCP” designated with reference numeral7026is clicked on, host computer100in accordance with XML configurator1024displays in window7008text of the “desc” attribute of the XML element having the DHCP name. In the illustrative embodiment described, the text display in window7008is the text:“0/1Enable/Disable DHCP. When enabled, the IP address for the radio interface will be requested from a DHCP server. When disabled, the static address provided in IP Address will be used instead.”

The descriptive text that is parsed from the XML document file and which is displayed in window7004and7008is useful in helping a user of system1000understand the affect of the parameter settings being changed with use of system1000. It will be seen that host computer100is configured so that when a different name displayed in tree window7002is clicked on, a correspondingly different text associated with the new name clicked on will be displayed in area7004. Similarly, when a new name displayed in area7006is clicked on, host computer100will display in window7008descriptive text associated with the XML element having the new name that is clicked on. The descriptive and instructional messages which will be displayed in window7004and window7008are discernable by reading of the XML document file in Table 1. For example, by reading the XML file in Table 1, it is seen that when the name “IP Address” is clicked on in window7006, the instructive text displayed in window7008will be: “Static IP Address (a.b.c.d) for the radio interface used when DHCP setting is disabled (set to zero).” Further, host computer100can be configured so that when a new name (a name button) displayed in area7002is clicked on, host computer100displays in area7006, name attributes and parameter setting values of any child key designated element of the element having the name that is clicked on. While buttons such as name buttons are described as being actuated by being clicked on, host computer100can also be configured so that a button is actuated by a “mouse over.” The interactions between the displays of window7002,7004,7006, and7008in view of the foregoing description for any possible displayed name of window7002or window7006can be observed by reading of the XML file at Table 1.

Referring toFIG. 7f, additional aspects of system1000are described. Referring toFIG. 7f, a graphical user interface display screen for use in encoding data of the XML file built by entering values into the display screen as shown inFIG. 7eis described. As indicated by the view ofFIG. 7f, graphical user interface display screen windows for use in packaging file data of files and other data can be displayed by executing an executable file for running packaging module1006. Specifically, an executable file enabling host computer100to operate in accordance with packaging module1006including control interface1004can be executed. In window7030, as shown inFIG. 7f, status of a current data package being built is displayed. By clicking on XML button7032, window7034is automatically opened to display names of files located in a certain default folder. As indicated previously, the contents of different folders can be viewed by clicking on folder icon7036and subsequently navigating between directories. As indicated in the view ofFIG. 7f, the XML document file “DEVICECONFIG.EXM” can be selected. The XML document file DEVICECONFIG.EXM can be an edited version of an original version as edited by changing parameters within display window7006as explained in connection withFIG. 7e. When a certain file from window7034is selected, package status area7030displays an indicator of the updated status of the data package being defined by a user.

Still referring to the screen display ofFIG. 7f, which is shown in full view inFIG. 7g, the bar code button7052can be clicked on to automatically generate a bar code or a set of bar codes corresponding to the selected XML document file. Host computer100can be configured so that when bar code button7052is clicked on, an HTML file with a link to an image file including a representation of a bar code is temporarily saved on host computer100and viewed with use of a browser (IEXPLORER.EXE). It has been indicated that window7007ofFIGS. 7fand7gcan be used to select for transfer to a data collection terminal10additional files in addition to the XML file DEVICECONFIG.EXM. For example, executable files, image files, moving video files, audio files and the like can be added. The graphical user interface window7013displayed after bar code button7038(FIG. 7b) or7052is clicked on as is shown inFIG. 7h. In an important aspect graphical user interface display screen window7013displays data package status information. In field8070, host computer100displays the byte size of the correct data file package, and at field8076displays the current number of bar codes required to encode data of the data package. Further at field8072, host computer100displays whether global compression has been selected and at field8074displays whether global encryption has been selected. These fields are automatically updated (a) as files selected for transfer are dropped or added, (b) encryption/compression selections are made (c) as action indicators are added and (d) as other data such as command data is entered. Thus, a user has immediate feedback as to the size of a current data package, and the number of bar codes required for encoding the data package. Host computer100can determine a size of a data package being defined, e.g., by examining of the data selected for inclusion in the data package, or header fields associated with such data selected for inclusion to the data package. If fields8070,8076indicate that a current data package is too large for a present application a user can delete selected files using window7030or adjust compression/encryption selected data so that the data package is reduced to a size suitable for a present application. As indicated, the user can alter symbology type file. Button7010can be clicked on to open up print options and send options and save options for further processing of the created bar code. The encoded bar code encoding the data of the XML file can be printed with use of printer17or saved to a file such as a PDF file, and HTML file, an XML file. Referring again to the screen display ofFIG. 7g, an important aspect of system1000is described. Specifically, by clicking on or off the “simplify XML button”8868, a user of system1000can designate whether a user wishes an entire XML file to be encoded into a bar code or whether a user wishes only a portion of the data of a created XML file to be encoded into a bar code or into another decodable medium, e.g., an RFID tag, an IC card. When the “simplify XML” data entry field8868is checked, certain data is deleted from the XML file built using the screen displays as described in connection withFIGS. 7a-7e. Specifically, when simplify XML data entry field8868is checked, host computer100automatically strips away (discards) data that is not necessary for reconfiguring a subsystem of data collection terminal10. While the text instructions of the XML file of Table 1 are defined as XML attributes, it will be understood that text instructions could also be alternative XML data. For example, the descriptive and instructional text portions of the XML file shown in Table 1, defined in the illustrative embodiment with use of XML attributes could be included as “XML text,” i.e., text between XML start and end tags. If descriptive XML content is defined with use of text content rather than with use of attributes as shown in Table 1, host computer100deletes text content rather than attribute content from a selected XML file when responding to “simplify XML” button8868being selected (FIG. 7g).

The screens ofFIG. 7gandFIG. 7hillustrate that encoding module5012(encoder) of host computer100can be activated during the time that host computer100displays package builder status window7007as shown inFIG. 7g. Host computer100can also be configured so that encoding module5012(encoder) can be activated to encode a dataform during the time that host computer100displays the XML file builder status window7001as shown inFIGS. 7a,7b,7c,7e, and7f. Referring to the screen display view ofFIG. 7b, window7003includes the text button “Create EZConfig Bar Code” labeled as element7038ofFIG. 7B. System1000is configured so that when the button “Create EZConfig Bar Code”7038is clicked on, the encoder control window7009as shown inFIG. 7iis displayed on display132of host100.

Encoder control window7009is a graphical user interface display screen window including data entry field7042allowing a user to define a file directory of terminal10onto which file data is to be stored when terminal10reads an encoded bar code. Encoder control window7008also includes data entry field8868which, as described in response to general GUI encoder control window7007(FIG. 7g), enables a user to select whether all of the data of an XML configuration file are to be encoded; or alternatively, whether a portion of the data of an XML configuration file are to be encoded. When data entry field8868is not checked, (i.e., is blank) host computer100encodes entire contents of the XML file being built using XML configurator screen7001. When data entry field8868is checked, (i.e., includes a checkmark) host computer1000determines that host computer100should reduce XML data from an XML file being built prior to be encoded, such that when bar code button7038or7052is clicked on only a portion of the data of the XML file being built is encoded into a bar code symbol. The data that is deleted from an XML document file when data entry field8868is checked can include (i) all “disabled” elements; (ii) all elements not edited during a previous editing session; and (iii) all text associated with all attributes of the XML document file of Table 1.

Referring to further aspects of encoder control graphical user interface display screen window7009, encoder control window7009includes bar code button7044. Host computer100can be configured so that when bar code button7052is clicked on the data of the XML configuration document file currently being built using window7001is encoded into a bar code and bar code window7011is displayed as shown inFIG. 7jwhich includes a view of the newly encoded bar code. Referring to window7011, window7011includes “Copy to Clipboard” button7046. When “Copy to Clipboard” button7046is clicked on, the encoded bar code displayed in area7048is copied to a clipboard. Another executable file stored on computer100can be opened, i.e., VISIO, MICROSOFT WORD, EXCEL, etc and the contents of the clipboard can be pasted into a new file, e.g., a new VISIO, WORD or EXCEL file. The bar code can then be printed on a physically transportable substrate such as transportable sheet of paper18(FIG. 1a).

Referring again to encoder control window7009, encoder control window7009also includes web page button7050. Host computer100can be configured so that when web page button7050is clicked on, window7017is displayed as shown inFIG. 7ktogether. Referring to window7017, window7017includes a print button7052. Host computer100is configured so that when print button7152is clicked on; host computer100prints the bar code displayed in area7051utilizing printer17. Referring to further aspects of window7017, window7017includes save button7156. Host computer100can be configured so that when save button7156is clicked on, bar code save window7021is displayed on display132. Bar code save window7021enables a user to select a file type and a location for a saved bar code. Window7021includes file name area7060, a file type area7062, and a file directory button7064. A user of system1000can input a desired name for a bar code file in area7060. A user can designate a file type of a saved bar code in area7062. Host computer100can be configured so that that the default file type is HTML, often used to store web pages of the type viewed by webpage browsers. Using area7062, a user can designate another file type however, e.g., .TIF, .GIF, .BMP .PDF, .PNG. Host computer100can be configured so that when the default HTML file type is selected, an image file format associated with the HTML file is selected which is linked to the HTML file. For example, host computer100can be configured so that when save button7156is clicked on to save an HTML file, an HTML file format in the folder designated in area7068is saved with a link to an image file also stored in the folder designated in area7068. The file format of the linked image file may be e.g., the .PNG file format, .GIF, .TIF. JPG. The folder location for storing a file including the encoded bar code can be changed by clicking on path button7064and subsequently navigating to designate an alternative file directory. The file directory into which a bar code is stored can be a directory on board host computer100(e.g., the C drive, “C:”) a computer spaced apart from computer100but within a local network computer such as computer110-1or computer10-2(FIG. 2d), or a folder of a directory within a remote computer such as computer110-6,110-10, or computer100-10.

Referring to Table 2, another illustrative XML configuration file is shown. The configuration file of Table 2 includes elements authored in a systematic manner for use in changing parameters controlling operation of bar code reader device14which in the embodiment shown includes imaging module1452. The XML configuration file after being edited at host computer100can be transferred to a terminal10and stored in a memory thereof, and the parameter settings of the file can be accessed by a program controlling operation of bar code reader device14. An XML file for use in setting parameters of bar code reader device is as follows:

TABLE 2<?xml version=“1.0”?><ConfigDoc flags=“16” desc=“Configuration file for the ScanDemo” name=“ScanDemo”><Section flags=“16” desc=“Settings for the Decoder” name=“Decode”><Key flags=“8” desc=“This stores the file version. Do not modify this value!&#xA;”name=“Version”>3</Key><Key flags=“16” desc=“Controls the debug function of ScanDemo.&#xA;0-Disable&#xA;1-Enable, a log file is created in the \IPSM folder (or as specified with theLogFilename key)” name=“Log”>0</Key><Key flags=“16” desc=“Location and name of the ScanDemo log file.”name=“LogFilename”>/ipsm/scandemo.log</Key><Key flags=“16” desc=“Enables or Disables the audio notifications for an error orsuccessful decode:&#xA;0 = Disable&#xA;1 = Enable, Front Speaker&#xA;2 = Enable,Back Speaker&#xA;3 = Enable, Front &amp; Back Speaker&#xA;&#xA;”name=“Sound”>1</Key><Key flags=“16” desc=“Enables and disables LED notification for an error or successfuldecode/data reception.&#xA;0 - Disable&#xA;1 - Enable” name=“Leds”>1</Key><Key flags=“16” desc=“Enable and disables continuous scan. If enabled, data will becontinuously decoded and sent to the application while the trigger key is depressed. Ifdisabled, the trigger key must be released between scans. &#xA;0 - Disable&#xA;1 -Enable&#xA;&#xA;” name=“ContScan”>0</Key><Key flags=“16” desc=“Enables and disables power saving mode. If enabled, the imagerwill be automatically initialized and un-initialized as needed. A slight delay will occur whenthe trigger is activated. If disabled, the imager will be initialized when the utility starts andun-initialized when the utility terminates. Default=1 (enabled).&#xA;0 - Disable&#xA;1 -Enable” name=“PowerSave”>0</Key><Key flags=“16” desc=“Enables and Disables the collection and displying of decodingstatistics” name=“Stats”>1</Key><Key flags=“16” desc=“Indicates the number of milliseconds that the scanner aimershould be displayed upon the trigger key has been pressed down, before attempting to decodea barcode. &#xA;If set to 0, the aimer is disabled” name=“AimerDuration”>0</Key><Key flags=“16” desc=“Indicates the maximum delay (milliseconds) between twoconsecutives trigger key presses to not re-display the aimer and attempt an immediate decode.Only valid the AimerDelay&gt;0.” name=“AimerDelay”>500</Key><Key flags=“16” desc=“Similar to AimerDuration, but for ALR mode only”name=“AimerDurationALR”>2000</Key><Key flags=“16” desc=“Similar to AimerDelay, but for ALR mode only”name=“AimerDelayALR”>500</Key><Key flags=“16” desc=“Sets the key used by ScanDemo to initiate a scan/decode. The keyis registered as a system hot key, it cannot be registered as a hot key by any otherapplications. Default=42 (On/Scan Key). &#xA;” name=“Trigger”>42</Key><Key flags=“16” desc=“Specifies the decode time out in 1/1000th seconds. If a barcode isnot decoded within the specified timeout an audio and visual notification will indicate that anerror occurred. Default=2000 (2 seconds). &#xA;” name=“ScanTimeout”>9000</Key><Key flags=“16” desc=“Specifes the behavior of the decoder upon release of the triggerkey:&#xA;0 = The decoder will scan as long as specified by the ScanTimeoutparameter&#xA;1 = Releasing the trigger key will cause the decoder to stop scanning&#xA;”name=“ScanAbort”>1</Key><Key flags=“16” desc=“Time interval between scanning attempts (milliseconds), when inAutoScan mode” name=“ScanInterval”>0</Key><Key flags=“16” desc=“Specifies the decode mode. If 1, the decoder is in normal mode. If2, the decoder works in ALD (Aggressive Linear Decode) mode.&#xA;”name=“ScanMode”>1</Key><Key flags=“16” desc=“Specifies the linear search range to be used while in ALD mode.The range is 1 to 6. A value of 1 indicates a tight vertical range near the aimer. A value of 6indicates a vertical range of the entire height of the imager. Default=3. &#xA;”name=“LinearRange”>3</Key><Key flags=“16” desc=“1-7: Sets the decoder's PrintWeight parameter: adjusts the way thedecoder reads Matrix symbols. If the image engine will be seeing consistently heavily printedMatrix symbols, a print weight of 6 or 7 may improve reading performance”name=“PrintWeight”>4</Key><Key flags=“16” desc=“0/1: If set to 1, replaces the carriage return (13) in the decodeddata with carriage return and line feed (13,10)” name=“ReplaceCRwithCRLF”>0</Key><Key flags=“16” desc=“Sound frequency used for play a custom good scan beep,&#xA;NOTE: The Window's &quot;Good Decode&quot; sound defined in the control paneltakes precedence over this option, if defined.” name=“GoodScanFreq”>2794</Key><Key flags=“16” desc=“Number of milliseconds to play the sound as specified inGoodScanFreq” name=“GoodScanLen”>50</Key><Key flags=“16” desc=“Sound frequency used for play a custom bad scan beep,&#xA;NOTE: The Window's &quot;Bad Decode&quot; sound defined in the control paneltakes precedence over this option, if defined.” name=“BadScanFreq”>523</Key><Key flags=“16” desc=“Number of milliseconds to play the sound as specified inBadScanFreq&#xA;” name=“BadScanLen”>25</Key><Key flags=“16” desc=“Specifies a wave file to be played on a successful decode/datareception. The wave file should be an 8 bit, 11KHz, mono, PCM file. If no wave file isspecified, the default beep will be utilized. Use the ‘sound’ setting to enable and disableaudio notification. Default=””. &#xA;NOTE: The Window's &quot;Good Decode&quot;sound defined in the control panel or the GoodScanFreq parameter take precedence over thisoption, if defined.&#xA;&#xA;” name=“GoodScanWav” /><Key flags=“16” desc=“Specify a wave file to be played on an unsuccessful decode. Thewave file should be an 8 bit, 11KHz, mono, PCM file. If no wave file is specified, the defaultbeep will be utilized. Use the ‘sound’ setting to enable and disable audio notification.Default=””.&#xA;NOTE: The Window's &quot;Bad Decode&quot; sound defined in thecontrol panel or the BadScanFreq parameter take precedence over this option, ifdefined.&#xA;” name=“BadScanWav” /><Key flags=“16” desc=“If set to 1, resets the Window's Idle timers before each decodeattempt, preventing the DEVICE from entering into suspend mode when in AutoScanmode.” name=“ResetIdleTimers”>0</Key></Section><Section flags=“16” desc=“The Symbologies settings specify the settings for each of thesymbologies supported by the Dolphin's decoder.&#xA;&#xA;The settings are in the form:&#xA;Symbology Name= Enable, Parm1, Parm2, Parm3, Parm4, Parm5, Parm6, Parm7,Parm8&#xA;&#xA;Where:&#xA;- Enable (0 or 1): Specifies if the symbology is enabled ordisabled. Disable symbologies not used to improve performance.&#xA;- Parm1...8: Specifythe settings for the symbology, as documented in the HHP Decode API. Unusued parametersare ignored.&#xA;&#xA;Example: Code 39 = 1,0,0,0,0,0,2,48,0&#xA;1 = Enable Code39&#xA;0 = Don't transmit start and stop characters &#xA;0 = Read codes with or withoutcheck character&#xA;0 = Do not transmit check character&#xA;0 = Full ASCII mode isdisabled&#xA;0 = Append mode is disabled&#xA;2 = Minimum length is 2characters&#xA;48 = Maximium length is 48 characters&#xA;0 = Ignored parameter forCode 39&#xA;” name=“Symbologies”><Key flags=“16” desc=“&#xA;The settings are in the form: Symbology Name= Enable,Parm1, Parm2, Parm3, Parm4, Parm5, Parm6, Parm7, Parm8&#xA;&#xA;Parameters&#xA;-----------------&#xA;&#xA;ENABLE - Specifies if the symbology is enabled ordisabled&#xA;&#xA;PARM1 (nMinLength) - The minimum length decoded Aztec or AztecMesa Code message the engine should return. Aztec or Aztec Mesa Code messages smallerthan this minimum length are not reported by the engine. The minimum allowable value (aswell as the default) is 1.&#xA;&#xA;PARM2 (nMaxLength) - The maximum length decodedAztec or Aztec Mesa Code message the engine should return. Aztec or Aztec Mesa Codesmessages larger than this maximumlength are reported by the engine. The maximumallowable value (as well as the default) is 3750. &#xA;&#xA;” name=“AztecCode”>1,1,3750,0,0,0,0,0,0</Key><Key flags=“16” desc=“&#xA;The settings are in the form: Symbology Name= Enable,Parm1, Parm2, Parm3, Parm4, Parm5, Parm6, Parm7, Parm8&#xA;&#xA;Parameters&#xA;-----------------&#xA;&#xA;ENABLE - Specifies if the symbology is enabled ordisabled&#xA;&#xA;PARM1 (nMinLength) - The minimum length decoded Aztec or AztecMesa Code message the engine should return. Aztec or Aztec Mesa Code messages smallerthan this minimum length are not reported by the engine. The minimum allowable value (aswell as the default) is 1.&#xA;&#xA;PARM2 (nMaxLength) - The maximum length decodedAztec or Aztec Mesa Code message the engine should return. Aztec or Aztec Mesa Codesmessages larger than this maximumlength are reported by the engine. The maximumallowable value (as well as the default) is 3750” name=“AztecMesas”>0,0,0,0,0,0,0,0,0</Key><Key flags=“16” desc=“&#xA;The settings are in the form: Symbology Name= Enable,Parm1, Parm2, Parm3, Parm4, Parm5, Parm6, Parm7, Parm8&#xA;&#xA;Parameters&#xA;-----------------&#xA;&#xA;ENABLE - Specifies if the symbology is enabled ordisabled&#xA;&#xA;PARM1 (bSSXmit) - Points to a BOOL variable that determines if thestart and stop characters are returned in the data string after a successful Codabar decode. IfbSSXmit is TRUE, the start and stop characters are included. If FALSE, they are notincluded. The default value is FALSE. &#xA;&#xA;PARM2 (bCheckCharOn ) - Points to aBOOL variable that determines if the engine will read Codabar barcodes with or withoutcheck characters. If TRUE, the engine only decodes Codabarcodes with a check character. IfFALSE, the decoder decodes codes with or without a check character. The default value isFALSE.&#xA;&#xA;PARM3 (bXmitCheckChar) - Points to a BOOL variable thatdetermines if the engine will return the check character as part of the data string after asuccessful decode. If TRUE, the engine returns the check character. If FALSE the checkcharacter is not returned. The default value is FALSE. Note: This parameter is only usedwhen bCheckCharOn is set to TRUE. If bCheckCharOn is set to FALSE, this parameter isignored.&#xA;&#xA;PARM4 (nMinLength) - The minimum length decoded Codabarmessage the engine should return. Codabar messages smaller than this minimum length arenot reported by the engine. The minimum allowable value (as well as the default) is2.&#xA;&#xA;PARM5 (nMaxLength) - The maximum length decoded Codabar message theengine should return. Codabar messages larger than this maximum length are not reported bythe engine. The maximum allowable value (as well as the default) is 60.”name=“Codabar”>1,0,0,0,4,60,0,0,0</Key><Key flags=“16” desc=“&#xA;The settings are in the form: Symbology Name= Enable,Parm1, Parm2, Parm3, Parm4, Parm5, Parm6, Parm7, Parm8&#xA;&#xA;Parameters&#xA;-----------------&#xA;&#xA;ENABLE - Specifies if the symbology is enabled ordisabled&#xA;&#xA;PARM1 (bTwoCheckDigits) - If TRUE, the engine only decodes Code11 barcodes printed with two check digits. Otherwise, the engine decodes Code 11 barcodesas if they were printed with only one check digit. The default value isTRUE.&#xA;&#xA;PARM2 (nMinLength) - The minimum length decoded Code 11message the engine should return. Code 11 messages smaller than this minimum length arenot reported by the engine. The default value is 4, and the minimum allowable value is1.&#xA;&#xA;PARM3 (nMaxLength) - The maximum length decoded Code 11 message theengine should return. Code 11 messages larger than this maximum length are not reported bythe engine. The maximum allowable value (as well as the default) is 80.&#xA;&#xA;&#xA;” name=“Code 11”>0,1,4,80,0,0,0,0,0</Key><Key flags=“16” desc=“&#xA;The settings are in the form: Symbology Name= Enable,Parm1, Parm2, Parm3, Parm4, Parm5, Parm6, Parm7, Parm8&#xA;&#xA;Parameters&#xA;-----------------&#xA;&#xA;ENABLE - Specifies if the symbology is enabled ordisabled&#xA;&#xA;PARM1 (nMinLength) - The minimum length decoded Code 128message the engine should return. Code 128 messages smaller than this minimum length arenot reported by the engine. The minimum allowable value (as well as the default) is0.&#xA;&#xA;PARM2 (nMaxLength) - The maximum length decoded Code 128 messagethe engine should return. Code 128 messages larger than this maximum length are notreported by the engine. The maximum allowable value (as well as the default) is 80. &#xA;”name=“Code 128 / EAN 128”>1,0,80,0,0,0,0,0,0</Key><Key flags=“16” desc=“&#xA;The settings are in the form: Symbology Name= Enable,Parm1, Parm2, Parm3, Parm4, Parm5, Parm6, Parm7, Parm8&#xA;&#xA;Parameters&#xA;-----------------&#xA;&#xA;ENABLE - Specifies if the symbology is enabled ordisabled&#xA;&#xA;PARM1 (bSSXmit) - Points to a BOOL variable that determines if thestart and stop characters are returned in the data string after a successful Code 39 decode. IfbSSXmit is TRUE, the start and stop characters are included. If FALSE, they are notincluded. The default value is FALSE.&#xA;&#xA;PARM2 (bCheckCharOn) - Points to aBOOL variable that determines if the engine will read Code 39 barcodes with or withoutcheck characters. If TRUE, the engine only decodes Code 39 codes with a check character. IfFALSE, the decoder decodes codes with or without a check character. The default value isFALSE.&#xA;&#xA;PARM3 (bXmitCheckChar) - Points to a BOOL variable thatdetermines if the engine will return the check character as part of the data string after asuccessful decode. If TRUE, the engine returns the check character. If FALSE, the checkcharacter is not returned. The default value is FALSE.&#xA;&#xA;Note: This parameter isonly used when bCheckCharOn is set to TRUE. If bCheckCharOn is set to FALSE, thisparameter is ignored.&#xA;&#xA;PARM4 (bFullAscii) - Points to a BOOL variable thatdetermines if certain character pairs within the barcode symbol are interpreted and returnedas a single character. If bFullAscii is TRUE, interpretation is enabled. If FALSE, nointerpretation is attempted. The default value is FALSE. &#xA;Points to a BOOL variablethat determines if the engine should append together and buffer up Code 39 symbols that startwith a space (excluding the start and stop characters). The engine stores the symbols in theorder in which they are read. It returns the data after a Code 39 symbol with no leading spaceis read. The return data has the leading spaces removed. If TRUE, the append feature isenabled. If FALSE, the append feature is disabled. The default value isFALSE.&#xA;&#xA;PARM5 (bAppend) - This parameter not supported - must be set toFALSE.&#xA;&#xA;PARM6 (nMinLength) - The minimum length decoded Code 39message the engine should return. Code 39 messages smaller than this minimum length arenot reported by the engine. The default value is 2, and the minimum allowable value is 0.nMaxLength The maximum length &#xA;decoded Code 39 message the engine shouldreturn. Code 39 messages larger than this maximum length are not reported by the engine.The maximum allowable value (as well as the default) is 48.&#xA;&#xA;PARM7(nMaxLength) - The maximum length decoded Code 39 message the engine should return.Code 39 messages larger than this maximum length are not reported by the engine. Themaximum allowable value (as well as the default) is 48.&#xA;” name=“Code39”>1,0,0,0,0,0,0,48,0</Key><Key flags=“16” desc=“&#xA;The settings are in the form: Symbology Name= Enable,Parm1, Parm2, Parm3, Parm4, Parm5, Parm6, Parm7, Parm8&#xA;&#xA;Parameters&#xA;-----------------&#xA;&#xA;ENABLE - Specifies if the symbology is enabled ordisabled&#xA;&#xA;PARM1 (nMinLength) - The minimum length decoded Code 49message the engine should return. Code 49 messages smaller than this minimum length arenot reported by the engine. The minimum allowable value (as well as the default) is1.&#xA;&#xA;PARM2 (nMaxLength) - The maximum length decoded Code 49 message theengine should return. Code 49 messages larger than this maximum length are not reported bythe engine. The maximum allowable value (as well as the default) is 81. &#xA;”name=“Code 49”>1,1,81,0,0,0,0,0,0</Key><Key flags=“16” desc=“&#xA;The settings are in the form: Symbology Name= Enable,Parm1, Parm2, Parm3, Parm4, Parm5, Parm6, Parm7, Parm8&#xA;&#xA;Parameters&#xA;-----------------&#xA;&#xA;ENABLE - Specifies if the symbology is enabled ordisabled&#xA;&#xA;PARM1 (nMinLength) - The minimum length decoded Code 93message the engine should return. Code 93 messages smaller than this minimum length arenot reported by the engine. The minimum allowable value (as well as the default) is0.&#xA;&#xA;PARM2 (nMaxLength) - The maximum length decoded Code 93 message theengine should return. Code 93 messages larger than this maximum length are not reported bythe engine. The maximum allowable value (as well as the default) is 80. &#xA;”name=“Code 93”>1,0,80,0,0,0,0,0,0</Key><Key flags=“16” name=“EAN.UCC Composites”>0,1,300,0,0,0,0,0,0</Key><Key flags=“16” desc=“&#xA;The settings are in the form: Symbology Name= Enable,Parm1, Parm2, Parm3, Parm4, Parm5, Parm6, Parm7, Parm8&#xA;&#xA;Parameters&#xA;-----------------&#xA;&#xA;ENABLE - Specifies if the symbology is enabled ordisabled&#xA;&#xA;PARM1 (nMinLength) - The minimum length decoded Data Matrixmessage the engine should return. Data Matrix messages smaller than this minimum lengthare not reported by the engine. The minimum allowable value (as well as the default) is1.&#xA;&#xA;PARM2 (nMaxLength) - The maximum length decoded Data Matrix messagethe engine should return. Data Matrix messages larger than this maximum length are notreported by the engine. The maximum allowable value (as well as the default) is 1500.&#xA;&#xA;” name=“Data Matrix”>1,1,1500,0,0,0,0,0,0</Key><Key flags=“16” desc=“&#xA;The settings are in the form: Symbology Name= Enable,Parm1, Parm2, Parm3, Parm4, Parm5, Parm6, Parm7, Parm8&#xA;&#xA;Parameters&#xA;-----------------&#xA;&#xA;ENABLE - Specifies if the symbology is enabled ordisabled&#xA;&#xA;PARM1 (bXmitCheckChar) - Points to a BOOL variable thatdetermines if the engine will return the check character as part of the data string after asuccessful decode. If TRUE, the engine returns the check character. If FALSE, the checkcharacter is not returned. The default value is FALSE.&#xA;&#xA;PARM2(bAddenda2Digit) - Points to a BOOL variable that determines if the engine will look for a 2digit addenda at the end of the EAN barcode. If TRUE, and an addenda is present, the engineadds the two digit addenda data to the end of the message. If FALSE, the engine ignoresaddenda data. The default value is FALSE.&#xA;&#xA;PARM3 (bAddenda5Digit) - Pointsto a BOOL variable that determines if the engine will look for a 5 digit addenda at the end ofthe EAN barcode. If TRUE, and an addenda is present, the engine adds the five digit addendadata to the end of the message. If FALSE, the engine ignores addenda data. The default valueis FALSE.&#xA;&#xA;PARM4 (bAddendaReq) - Points to a BOOL variable thatdetermines if the engine will decode only EAN barcodes that have a 2 or 5 digit addenda. IfTRUE, the engine decodes only EAN symbols with an addenda. If FALSE, the enginedecodes all enabled EAN symbols. The default value is FALSE.&#xA;&#xA;PARM5(bAddendaSeparator) - Points to a BOOL variable that determines if there is a space characterbetween the data from the barcode and the data from the addenda. If TRUE, there is a space.If FALSE, there is no space. The default value is FALSE. &#xA;” name=“EAN-8”>1,1,0,0,0,1,0,0,0</Key><Key flags=“16” desc=“&#xA;The settings are in the form: Symbology Name= Enable,Parm1, Parm2, Parm3, Parm4, Parm5, Parm6, Parm7, Parm8&#xA;&#xA;Parameters&#xA;-----------------&#xA;&#xA;ENABLE - Specifies if the symbology is enabled ordisabled&#xA;&#xA;PARM1 (bXmitCheckChar) - Points to a BOOL variable thatdetermines if the engine will return the check character as part of the data string after asuccessful decode. If TRUE, the engine returns the check character. If FALSE, the checkcharacter is not returned. The default value is FALSE.&#xA;&#xA;PARM2(bAddenda2Digit) - Points to a BOOL variable that determines if the engine will look for a 2digit addenda at the end of the EAN barcode. If TRUE, and an addenda is present, the engineadds the two digit addenda data to the end of the message. If FALSE, the engine ignoresaddenda data. The default value is FALSE.&#xA;&#xA;PARM3 (bAddenda5Digit) - Pointsto a BOOL variable that determines if the engine will look for a 5 digit addenda at the end ofthe EAN barcode. If TRUE, and an addenda is present, the engine adds the five digit addendadata to the end of the message. If FALSE, the engine ignores addenda data. The default valueis FALSE.&#xA;&#xA;PARM4 (bAddendaReq) - Points to a BOOL variable thatdetermines if the engine will decode only EAN barcodes that have a 2 or 5 digit addenda. IfTRUE, the engine decodes only EAN symbols with an addenda. If FALSE, the enginedecodes all enabled EAN symbols. The default value is FALSE.&#xA;&#xA;PARM5(bAddendaSeparator) - Points to a BOOL variable that determines if there is a space characterbetween the data from the barcode and the data from the addenda. If TRUE, there is a space.If FALSE, there is no space. The default value is TRUE. &#xA;” name=“EAN-13”>1,1,0,0,0,1,0,0,0</Key><Key flags=“16” desc=“&#xA;The settings are in the form: Symbology Name= Enable,Parm1, Parm2, Parm3, Parm4, Parm5, Parm6, Parm7, Parm8&#xA;&#xA;Parameters&#xA;-----------------&#xA;&#xA;ENABLE - Specifies if the symbology is enabled ordisabled&#xA;&#xA;PARM1 (bCheckDigitOn) - Points to a BOOL variable that determinesif the engine will read Interleaved 2 of 5 barcodes with or without check characters. If TRUE,the engine only decodes Interleaved 2 of 5 codes with a check digit. If FALSE, the decoderdecodes codes with or without a check digit. The default value isFALSE.&#xA;&#xA;PARM2 (bXmitCheckDigit) - Points to a BOOL variable thatdetermines if the engine will return the check digit as part of the data string after a successfuldecode. If TRUE, the engine returns the check digit. If FALSE, the check digit is notreturned. The default value is FALSE.&#xA;Note: This parameter is only used whenbCheckDigitOn is set to TRUE. If bCheckDigitOn is set to FALSE, this parameter isignored.&#xA;&#xA;PARM3 (nMinLength) - The minimum length decoded Interleaved 2 of5 message the engine should return. Interleaved 2 of 5 messages smaller than this minimumlength are not reported by the engine. The default value is 6, and the minimum allowablevalue is 4.&#xA;&#xA;PARM4 (nMaxLength) - The maximum length decoded Interleaved 2of 5 message the engine should return. Interleaved 2 of 5 messages larger than this maximumlength are not reported by the engine. The maximum allowable value (as well as the default)is 80. &#xA;&#xA;” name=“Interleaved 2 of 5”>1,0,0,4,80,0,0,0,0</Key><Key flags=“16” desc=“&#xA;The settings are in the form: Symbology Name= Enable,Parm1, Parm2, Parm3, Parm4, Parm5, Parm6, Parm7, Parm8&#xA;&#xA;Parameters&#xA;-----------------&#xA;&#xA;ENABLE - Specifies if the symbology is enabled ordisabled&#xA;&#xA;PARM1 (bCarrierMsgOnly) - This parameter is no longersupported.&#xA;&#xA;PARM2 (nMinLength) - The minimum length decoded MaxiCodemessage the engine should return. MaxiCode messages smaller than this minimum length arenot reported by the engine. The minimum allowable value (as well as the default) is1.&#xA;&#xA;PARM3 (nMaxLength) - The maximum length decoded MaxiCode messagethe engine should return. MaxiCode messages larger than this maximum length are notreported by the engine. The maximum allowable value (as well as the default) is 150. &#xA;”name=“MaxiCode”>1,0,1,150,0,0,0,0,0</Key><Key flags=“16” desc=“&#xA;The settings are in the form: Symbology Name= Enable,Parm1, Parm2, Parm3, Parm4, Parm5, Parm6, Parm7, Parm8&#xA;&#xA;Parameters&#xA;-----------------&#xA;&#xA;ENABLE - Specifies if the symbology is enabled ordisabled&#xA;&#xA;PARM1 (nMinLength) - The minimum length decoded MicroPDF417message the engine should return. MicroPDF417 messages smaller than this minimum lengthare not reported by the engine. The minimum allowable value (as well as the default) is1.&#xA;&#xA;PARM2 (nMaxLength) - The maximum length decoded MicroPDF417message the engine should return. MicroPDF417 messages larger than this maximum lengthare not reported by the engine. The maximum allowable value (as well as the default) is 2750.&#xA;” name=“MicroPDF417”>0,1,366,0,0,0,0,0,0</Key><Key flags=“16” desc=“&#xA;The settings are in the form: Symbology Name= Enable,Parm1, Parm2, Parm3, Parm4, Parm5, Parm6, Parm7, Parm8&#xA;&#xA;Parameters&#xA;-----------------&#xA;&#xA;ENABLE - Specifies if the symbology is enabled ordisabled&#xA;&#xA;PARM1 (nFont) - This determines which OCR fonts (if any) areselected for decoding. The following values are used:&#xA;&#xA;OCR_DISABLED&#xA; OCR_A&#xA; OCR_B&#xA; OCR_MONEY&#xA;OCR_MICR (currently unsupported)&#xA;&#xA;PARM2 (pszTemplate) - A null-terminated string that indicates one or more template patterns for the OCR decode. Allcharacters in the font 1 are matched as is, except for the following:&#xA;&#xA; a -alphanumeric character&#xA; c - check character&#xA; d -a digitfrom0-9&#xA; e -any character&#xA; g - any character specified in group G&#xA; h - any characterspecified in group H&#xA; 1 - alphabetic letter&#xA; r - delimits a row&#xA; t -delimits multiple templates&#xA;&#xA;PARM3 (pszGroupG) - A null-terminated string thatdefines the set of characters matching group “g” in a template.&#xA;&#xA;PARM4(pszGroupH) - A null-terminated string that defines the set of characters matching group “h”in a template.&#xA;&#xA;PARM5 (pszCheckChar) - A null-terminated string that definesthe legal characters for checksum computation in a decoded message. Use the string constant“0123456789” for modulo 10 checksums, and the string constant“0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ” for modulo 36checksums.&#xA;&#xA;PARM6 (nDirection) - Tells the OCR decoder which way thecharacters are usually oriented with respect to the image. The decoder still decodes anyorientation, but use of this parameter can increase decoding speed. It also makes decodingmore reliable for numbers that contain only the digits “0, 6, 8,” and “9.” The constantspecifies the direction taken when the user reads the message from start to finish. Thefollowing values are used:&#xA;&#xA; LeftToRight&#xA; TopToBottom&#xA;RightToLeft&#xA; BottomToTop&#xA;“ name=“OCR”>0,2,dddddddd,,,,</Key><Key flags=“16” desc=“&#xA;The settings are in the form: Symbology Name= Enable,Parm1, Parm2, Parm3, Parm4, Parm5, Parm6, Parm7, Parm8&#xA;&#xA;Parameters&#xA;-----------------&#xA;&#xA;ENABLE - Specifies if the symbology is enabled ordisabled&#xA;&#xA;PARM1 (nMinLength) - The minimum length decoded PDF417message the engine should return. PDF417 messages smaller than this minimum length arenot reported by the engine. The minimum allowable value (as well as the default) is1.&#xA;&#xA;PARM2 (nMaxLength) - The maximum length decoded PDF417 message theengine should return. PDF417 messages larger than this maximum length are not reported bythe engine. The maximum allowable value (as well as the default) is 2750.&#xA;&#xA;”name=“PDF417”>1,1,2750,0,0,0,0,0,0</Key><Key flags=“16” desc=“&#xA;The settings are in the form: Symbology Name= Enable,Parm1, Parm2, Parm3, Parm4, Parm5, Parm6, Parm7, Parm8&#xA;&#xA;Parameters&#xA;-----------------&#xA;&#xA;ENABLE - Specifies if the symbology is enabled ordisabled&#xA;&#xA;PARM1 (nMinLength) - The minimum length decoded QR Codemessage the engine should return. QR Code messages smaller than this minimum length arenot reported by the engine. The minimum allowable value (as well as the default) is1.&#xA;&#xA;PARM2 (nMaxLength) - The maximum length decoded QR Code messagethe engine should return. QR Code messages larger than this maximum length are notreported by the engine. The maximum allowable value (as well as the default) is 3500.&#xA;” name=“QR Code”>0,1,3500,0,0,0,0,0,0</Key><Key flags=“16” desc=“&#xA;The settings are in the form: Symbology Name= Enable,Parm1, Parm2, Parm3, Parm4, Parm5, Parm6, Parm7, Parm8&#xA;&#xA;Parameters&#xA;-----------------&#xA;&#xA;ENABLE - Specifies if the symbology is enabled ordisabled&#xA;&#xA;PARM1 (bXmitCheckChar) - points to a BOOL variable thatdetermines if the engine will return the check character as part of the data string after asuccessful decode. If TRUE, the engine returns the check character. If FALSE, the checkcharacter is not returned. The default value is FALSE. &#xA;”name=“Postnet”>0,0,0,0,0,0,0,0,0</Key><Key flags=“16” desc=“&#xA;The settings are in the form: Symbology Name= Enable,Parm1, Parm2, Parm3, Parm4, Parm5, Parm6, Parm7, Parm8&#xA;&#xA;Parameters&#xA;-----------------&#xA;&#xA;ENABLE - Specifies if the symbology is enabled ordisabled&#xA;&#xA;PARM1 (nMinLength) - The minimum length decoded RSS messagethe engine should return. RSS messages smaller than this minimum length are not reported bythe engine. The minimum allowable value (as well as the default) is 1.&#xA;&#xA;PARM2(nMaxLength) - The maximum length decoded RSS message the engine should return. RSSmessages larger than this maximum length are not reported by the engine. The maximumallowable value (as well as the default) is 80. &#xA;” name=“Reduced Space Symbology(RSS)“>1,4,74,0,0,0,0,0,0</Key><Key flags=“16” desc=“&#xA;The settings are in the form: Symbology Name= Enable,Parm1, Parm2, Parm3, Parm4, Parm5, Parm6, Parm7, Parm8&#xA;&#xA;Parameters&#xA;-----------------&#xA;&#xA;ENABLE - Specifies if the symbology is enabled ordisabled&#xA;&#xA;PARM1 (bXmitCheckDigit) - Points to a BOOL variable thatdetermines if the engine will return the check digit as part of the data string after a successfuldecode. If TRUE, the engine returns the check digit. If FALSE, the check digit is notreturned. The default value is FALSE.&#xA;&#xA;PARM2 (bXmitNumSys) - Points to aBOOL variable that determines if the engine will return the numeric system digit of the UPClabel. If TRUE, the engine returns the number system digit. If FALSE, the number systemdigit is not returned. The default value is TRUE.&#xA;&#xA;PARM3 (bAddenda2Digit) -Points to a BOOL variable that determines if the engine will look for a 2 digit addenda at theend of the UPC barcode. If TRUE, and an addenda is present, the engine adds the two digitaddenda data to the end of the message. If FALSE, the engine ignores addenda data. Thedefault value is FALSE.&#xA;&#xA;PARM4 (bAddenda5Digit) - Points to a BOOLvariable that determines if the engine will look for a 5 digit addenda at the end of the UPCbarcode. If TRUE, and an addenda is present, the engine adds the five digit addenda data tothe end of the message. If FALSE, the engine ignores addenda data. The default value isFALSE.&#xA;&#xA;PARM5 (bAddendaReq) - Points to a BOOL variable that determines ifthe engine will decode only EAN barcodes that have a 2 or 5 digit addenda. If TRUE, theengine decodes only EAN symbols with an addenda. If FALSE, the engine decodes allenabled EAN symbols. The default value is FALSE.&#xA;&#xA;PARM6(bAddendaSeparator) - Points to a BOOL variable that determines if there is a space characterbetween the data from the barcode and the data from the addenda. If TRUE, there is a space.If FALSE, there is no space. The default value is FALSE. &#xA;” name=“UPC-A”>1,1,1,0,0,0,1,0,0</Key><Key flags=“16” desc=“&#xA;The settings are in the form: Symbology Name= Enable,Parm1, Parm2, Parm3, Parm4, Parm5, Parm6, Parm7, Parm8&#xA;&#xA;Parameters&#xA;-----------------&#xA;&#xA;ENABLE - Specifies if the symbology is enabled ordisabled&#xA;&#xA;PARM1 (bXmitCheckDigit) - Points to a BOOL variable thatdetermines if the engine will return the check digit as part of the data string after a successfuldecode. If TRUE, the engine returns the check digit. If FALSE, the check digit is notreturned. The default value is FALSE.&#xA;Note: This parameter is not valid for UPCE1.&#xA;&#xA;PARM2 (bXmitNumSys) - Points to a BOOL variable that determines if theengine will return the numeric system digit of the UPC label. If TRUE, the engine returns thenumber system digit. If FALSE, the number system digit is not returned. The default value isFALSE.&#xA;&#xA;Note: This parameter is not valid for UPC E1.&#xA;&#xA;PARM3(bExpandVersionE) - Points to a BOOL variable that determines if the engine will expandUPC-E codes to the 12 digit UPC-A format after a successful decode. If TRUE, the engineexpands the code. If FALSE, the engine does not expand the UPC-E code. The default valueis FALSE.&#xA;&#xA;Note: This parameter is not valid for UPC E1.&#xA;&#xA;PARM4(bAddenda2Digit) - Points to a BOOL variable that determines if the engine will look for a 2digit addenda at the end of the UPC barcode. If TRUE, and an addenda is present, the engineadds the two digit addenda data to the end of the message. If FALSE, the engine ignoresaddenda data. The default value is FALSE.&#xA;&#xA;PARM5 (bAddenda5Digit) - Pointsto a BOOL variable that determines if the engine will look for a 5 digit addenda at the end ofthe UPC barcode. If TRUE, and an addenda is present, the engine adds the five digit addendadata to the end of the message. If FALSE, the engine ignores addenda data. The default valueis FALSE.&#xA;&#xA;PARM6 (bAddendaReq) - Points to a BOOL variable thatdetermines if the engine will decode only EAN barcodes that have a 2 or 5 digit addenda. IfTRUE, the engine decodes only EAN symbols with an addenda. If FALSE, the enginedecodes all enabled EAN symbols. The default value is FALSE.&#xA;&#xA;PARM7(bAddendaSeparator) - Points to a BOOL variable that determines if there is a space characterbetween the data from the barcode and the data from the addenda. If TRUE, there is a space.If FALSE, there is no space. The default value is TRUE. &#xA;&#xA;” name=“UPC-E0”>1,1,1,0,0,0,0,1,0</Key><Key flags=“16” desc=“&#xA;The settings are in the form: Symbology Name= Enable,Parm1, Parm2, Parm3, Parm4, Parm5, Parm6, Parm7, Parm8&#xA;&#xA;Parameters&#xA;-----------------&#xA;&#xA;ENABLE - Specifies if the symbology is enabled ordisabled&#xA;&#xA;PARM1 (bXmitCheckDigit) - Points to a BOOL variable thatdetermines if the engine will return the check digit as part of the data string after a successfuldecode. If TRUE, the engine returns the check digit. If FALSE, the check digit is notreturned. The default value is FALSE.&#xA;Note: This parameter is not valid for UPCE1.&#xA;&#xA;PARM2 (bXmitNumSys) - Points to a BOOL variable that determines if theengine will return the numeric system digit of the UPC label. If TRUE, the engine returns thenumber system digit. If FALSE, the number system digit is not returned. The default value isFALSE.&#xA;&#xA;Note: This parameter is not valid for UPC E1.&#xA;&#xA;PARM3(bExpandVersionE) - Points to a BOOL variable that determines if the engine will expandUPC-E codes to the 12 digit UPC-A format after a successful decode. If TRUE, the engineexpands the code. If FALSE, the engine does not expand the UPC-E code. The default valueis FALSE.&#xA;&#xA;Note: This parameter is not valid for UPC E1.&#xA;&#xA;PARM4(bAddenda2Digit) - Points to a BOOL variable that determines if the engine will look for a 2digit addenda at the end of the UPC barcode. If TRUE, and an addenda is present, the engineadds the two digit addenda data to the end of the message. If FALSE, the engine ignoresaddenda data. The default value is FALSE.&#xA;&#xA;PARM5 (bAddenda5Digit) - Pointsto a BOOL variable that determines if the engine will look for a 5 digit addenda at the end ofthe UPC barcode. If TRUE, and an addenda is present, the engine adds the five digit addendadata to the end of the message. If FALSE, the engine ignores addenda data. The default valueis FALSE.&#xA;&#xA;PARM6 (bAddendaReq) - Points to a BOOL variable thatdetermines if the engine will decode only EAN barcodes that have a 2 or 5 digit addenda. IfTRUE, the engine decodes only EAN symbols with an addenda. If FALSE, the enginedecodes all enabled EAN symbols. The default value is FALSE.&#xA;&#xA;PARM7(bAddendaSeparator) - Points to a BOOL variable that determines if there is a space characterbetween the data from the barcode and the data from the addenda. If TRUE, there is a space.If FALSE, there is no space. The default value is TRUE. &#xA;” name=“UPC-E1”>0,1,1,0,0,0,0,1,0</Key><Key flags=“16” name=“ISBT”>0,0,0,0,0,0,0,0,0</Key><Key flags=“16” name=“British Post”>0,0,0,0,0,0,0,0,0</Key><Key flags=“16” name=“Canadian Post”>0,0,0,0,0,0,0,0,0</Key><Key flags=“16” name=“Australian Post”>0,0,0,0,0,0,0,0,0</Key><Key flags=“16” desc=“&#xA;The settings are in the form: Symbology Name= Enable,Parm1, Parm2, Parm3, Parm4, Parm5, Parm6, Parm7, Parm8&#xA;&#xA;Parameters&#xA;-----------------&#xA;&#xA;ENABLE - Specifies if the symbology is enabled ordisabled&#xA;&#xA;PARM1 (nMinLength) - The minimum length decoded IATA 2 of 5message the engine should return. IATA 2 of 5 messages smaller than this minimum lengthare not reported by the engine. The minimum allowable value (as well as the default) is4.&#xA;&#xA;PARM2 (nMaxLength) - The maximum length decoded IATA 2 of 5 messagethe engine should return. IATA 2 of 5 messages larger than this maximum length are notreported by the engine. The maximum allowable value (as well as the default) is 80. &#xA;”name=“Straight 2 of 5 IATA”>0,4,48,0,0,0,0,0,0</Key><Key flags=“16” desc=“&#xA;The settings are in the form: Symbology Name= Enable,Parm1, Parm2, Parm3, Parm4, Parm5, Parm6, Parm7, Parm8&#xA;&#xA;Parameters&#xA;-----------------&#xA;&#xA;ENABLE - Specifies if the symbology is enabled ordisabled&#xA;&#xA;PARM1 (nMinLength) - The minimum length decoded Codablockmessage the engine should return. Codablock messages smaller than this minimum length arenot reported by the engine. The minimum allowable value (as well as the default) is0.&#xA;&#xA;PARM2 (nMaxLength) - The maximum length decoded Codablock messagethe engine should return. Codablock messages larger than this maximum length are notreported by the engine. The maximum allowable value (as well as the default) is 2048.&#xA;” name=“Codablock”>0,1,2048,0,0,0,0,0,0</Key><Key flags=“16” name=“Japanense Post”>0,0,0,0,0,0,0,0,0</Key><Key flags=“16” desc=“&#xA;The settings are in the form: Symbology Name= Enable,Parm1, Parm2, Parm3, Parm4, Parm5, Parm6, Parm7, Parm8&#xA;&#xA;Parameters&#xA;-----------------&#xA;&#xA;ENABLE - Specifies if the symbology is enabled ordisabled&#xA;&#xA;PARM1 (bXmitCheckDigit) - Points to a BOOL variable thatdetermines if the engine will return the check digit as part of the data string after a successfuldecode. If TRUE, the engine returns the check digit. If returned. The default value isFALSE.&#xA;&#xA;&#xA;” name=“Planet Code”>0,0,0,0,0,0,0,0,0</Key><Key flags=“16” name=“Dutch Post”>0,0,0,0,0,0,0,0,0</Key><Key flags=“16” desc=“&#xA;The settings are in the form: Symbology Name= Enable,Parm1, Parm2, Parm3, Parm4, Parm5, Parm6, Parm7, Parm8&#xA;&#xA;Parameters&#xA;-----------------&#xA;&#xA;ENABLE - Specifies if the symbology is enabled ordisabled&#xA;&#xA;PARM1 (nMinLength) - The minimum length decoded MSI messagethe engine should return. MSI messages smaller than this minimum length are not reported bythe engine. The minimum allowable value (as well as the default) is 4.&#xA;&#xA;PARM2(nMaxLength) - The maximum length decoded MSI message the engine should return. MSImessages larger than this maximum length are not reported by the engine. The maximumallowable value (as well as the default) is 48.&#xA;&#xA;PARM3 (bXmitCheckChar) -Points to a BOOL variable that determines if the engine will return the check character as partof the data string after a successful decode. If TRUE, the engine returns the check character.If FALSE, the check character is not returned. The default value is FALSE. &#xA;”name=“MSI”>0,4,48,0,0,0,0,0,0</Key><Key flags=“16” name=“TCIF Linked Code 39 (TLC39)”>0,0,0,0,0,0,0,0,0</Key><Key flags=“16” name=“Trioptic Code”>0,0,0,0,0,0,0,0,0</Key><Key flags=“16” desc=““ name=“Code 32”>0,0,0,0,0,0,0,0,0</Key><Key flags=“16” desc=“&#xA;The settings are in the form: Symbology Name= Enable,Parm1, Parm2, Parm3, Parm4, Parm5, Parm6, Parm7, Parm8&#xA;&#xA;Parameters&#xA;-----------------&#xA;&#xA;ENABLE - Specifies if the symbology is enabled ordisabled&#xA;&#xA;PARM1 (nMinLength) - The minimum length decoded message theengine should return. Messages smaller than this minimum length are not reported by theengine. The minimum allowable value (as well as the default) is 4.&#xA;&#xA;PARM2(nMaxLength) - The maximum length decoded message the engine should return. Messageslarger than this maximum length are not reported by the engine. The maximum allowablevalue (as well as the default) is 48.&#xA;&#xA;” name=“Straight 2 of 5Industrial”>0,4,48,0,0,0,0,0,0</Key><Key flags=“16” desc=“&#xA;The settings are in the form: Symbology Name= Enable,Parm1, Parm2, Parm3, Parm4, Parm5, Parm6, Parm7, Parm8&#xA;&#xA;Parameters&#xA;-----------------&#xA;&#xA;ENABLE - Specifies if the symbology is enabled ordisabled&#xA;&#xA;PARM1 (nMinLength) - The minimum length decoded message theengine should return. Messages smaller than this minimum length are not reported by theengine. The minimum allowable value (as well as the default) is 4.&#xA;&#xA;PARM2(nMaxLength) - The maximum length decoded message the engine should return. Messageslarger than this maximum length are not reported by the engine. The maximum allowablevalue (as well as the default) is 80.&#xA;” name=“Matrix 2 of 5”>0,4,80,0,0,0,0,0,0</Key><Key flags=“16” desc=“&#xA;The settings are in the form: Symbology Name= Enable,Parm1, Parm2, Parm3, Parm4, Parm5, Parm6, Parm7, Parm8&#xA;&#xA;Parameters&#xA;-----------------&#xA;&#xA;ENABLE - Specifies if the symbology is enabled ordisabled&#xA;&#xA;PARM1 (nMinLength) - The minimum length decoded message theengine should return. Messages smaller than this minimum length are not reported by theengine. The minimum allowable value (as well as the default) is 4.&#xA;&#xA;PARM2(nMaxLength) - The maximum length decoded message the engine should return. Messageslarger than this maximum length are not reported by the engine. The maximum allowablevalue (as well as the default) is 48.&#xA;” name=“Plessey”>0,4,48,0,0,0,0,0,0</Key><Key flags=“16” desc=“&#xA;The settings are in the form: Symbology Name= Enable,Parm1, Parm2, Parm3, Parm4, Parm5, Parm6, Parm7, Parm8&#xA;&#xA;Parameters&#xA;-----------------&#xA;&#xA;ENABLE - Specifies if the symbology is enabled ordisabled&#xA;&#xA;PARM1 (nMinLength) - The minimum length decoded message theengine should return. Messages smaller than this minimum length are not reported by theengine. The minimum allowable value (as well as the default) is 4.&#xA;&#xA;PARM2(nMaxLength) - The maximum length decoded message the engine should return. Messageslarger than this maximum length are not reported by the engine. The maximum allowablevalue (as well as the default) is 80.&#xA;” name=“China Post”>0,4,80,0,0,0,0,0,0</Key><Key flags=“16” desc=“&#xA;The settings are in the form: Symbology Name= Enable,Parm1, Parm2, Parm3, Parm4, Parm5, Parm6, Parm7, Parm8&#xA;&#xA;Parameters&#xA;-----------------&#xA;&#xA;ENABLE - Specifies if the symbology is enabled ordisabled&#xA;&#xA;PARM1 (nMinLength) - The minimum length decoded message theengine should return. Messages smaller than this minimum length are not reported by theengine. The minimum allowable value (as well as the default) is 4.&#xA;&#xA;PARM2(nMaxLength) - The maximum length decoded message the engine should return. Messageslarger than this maximum length are not reported by the engine. The maximum allowablevalue (as well as the default) is 48.&#xA;&#xA;&#xA;” name=“KoreaPost”>0,4,48,0,0,0,0,0,0</Key><Key flags=“16” desc=“&#xA;The settings are in the form: Symbology Name= Enable,Parm1, Parm2, Parm3, Parm4, Parm5, Parm6, Parm7, Parm8&#xA;&#xA;Parameters&#xA;-----------------&#xA;&#xA;ENABLE - Specifies if the symbology is enabled ordisabled&#xA;&#xA;PARM1 (nMinLength) - The minimum length decoded message theengine should return. Messages smaller than this minimum length are not reported by theengine. The minimum allowable value (as well as the default) is 1.&#xA;&#xA;PARM2(nMaxLength) - The maximum length decoded message the engine should return. Messageslarger than this maximum length are not reported by the engine. The maximum allowablevalue (as well as the default) is 60.&#xA;&#xA;PARM3 (bOriginal) - A BOOL variable thatconfigures the engine to read Telepen labels that were encoded with either the original or theAIM specification. The default is FALSE.&#xA;&#xA;”name=“Telepen”>0,1,60,0,0,0,0,0,0</Key><Key flags=“16” desc=“&#xA;The settings are in the form: Symbology Name= Enable,Parm1, Parm2, Parm3, Parm4, Parm5, Parm6, Parm7, Parm8&#xA;&#xA;Parameters&#xA;-----------------&#xA;&#xA;ENABLE - Specifies if the symbology is enabled ordisabled&#xA;&#xA;PARM1 (nMinLength) - The minimum length decoded message theengine should return. Messages smaller than this minimum length are not reported by theengine. The minimum allowable value (as well as the default) is 1.&#xA;&#xA;PARM2(nMaxLength) - The maximum length decoded message the engine should return. Messageslarger than this maximum length are not reported by the engine. The maximum allowablevalue (as well as the default) is 160.&#xA;&#xA;&#xA;” name=“Code16K”>0,1,160,0,0,0,0,0,0</Key><Key flags=“16” desc=“&#xA;The settings are in the form: Symbology Name= Enable,Parm1, Parm2, Parm3, Parm4, Parm5, Parm6, Parm7, Parm8&#xA;&#xA;Parameters&#xA;-----------------&#xA;&#xA;ENABLE - Specifies if the symbology is enabled ordisabled&#xA;&#xA;PARM1 (nMinLength) - The minimum length decoded message theengine should return. Messages smaller than this minimum length are not reported by theengine. The minimum allowable value (as well as the default) is 4.&#xA;&#xA;PARM2(nMaxLength) - The maximum length decoded message the engine should return. Messageslarger than this maximum length are not reported by the engine. The maximum allowablevalue (as well as the default) is 48.&#xA;&#xA;PARM3 (nLimited) - A WORD variableused to enable the decoding of either Posicode Limited A or Posicode Limited B labels. Avalue of 1 enables Posicode Limited A, and a value of 2 enables Posicode Limited B. A valueof 0 disables decoding of both Limited A and Limited B. The default value is0.&#xA;&#xA;” name=“PosiCode”>0,4,48,2,0,0,0,0,0</Key><Key flags=“16” desc=““ name=“Coupon Code>0,0,0,0,0,0,0,0,0</Key></Section><Section flags=“16” desc=“Settings for the Centering window used by the scanner todecode a barcode.“ name=“Centering”><Key flags=“16” desc=“Enable and disables decode centering feature for the decoder. IfCenteringEnable is 1, barcodes will only be decoded if they are within the centering windowspecified by CenteringTop, CenteringBottom, CenteringLeft and CenteringRight.Default=0.&#xA;” name=“CenteringEnable”>0</Key><Key flags=“16” desc=“Specifies the top coordinate of the centering window. Default =230.&#xA;”name=“CenteringTop”>215</Key><Key flags=“16” desc=“Specifies the bottom coordinate of the centering window. Default =250.&#xA;“ name=“CenteringBottom”>265</Key><Key flags=“16” desc=“Specifies the left coordinate of the centering window. Default =310.&#xA;”name=“CenteringLeft”>295</Key><Key flags=“16” desc=“Specifies the right coordinate of the centering window. Default =330.&#xA;” name=“CenteringRight”>345</Key></Section></ConfigDoc>

FIG. 7lshows a screen shot view of XML configuration graphical user interface window7001displaying parsed data from the XML file of Table 2. Like the XML file of Table 1, the XML file of Table 2 includes section elements and key elements wherein key elements are child elements of a section element and wherein key elements include parameter settings defined with use of simple XML text content (text between a start tag and an end tag). It is seen that host computer100parses data from the XML file to display name attributed of section elements in window7002, “desc” attributes of section elements in window7004, name attributes and parameter setting values of key elements in window7006, and “desc” attributes of key elements in window7008. Like the XML configuration file of Table 1, the XML configuration file of Table 2 has a device specific XML element (a device element) corresponding to a device of terminal10and several subsidiary elements of lower hierarchy than the device element. The lower hierarchy elements include parameter settings that can be changed with use of host computer100. Specifically, the XML file of Table 2 has a device element; namely, the root element having the name attribute “ScanDemo” corresponding to bar code reader device14, and several subsidiary elements that are subsidiary to the bar code reader device element. It will be seen that the bar code reader device element could be given an alternative name attribute such as “bar code reader.” Elements that are subsidiary to the bar code reader device element include parameter settings for controlling the operation of bar code reader14. As is indicated in Table 2 and in the view ofFIG. 7l, the XML file of Table 2 includes several parameter settings defining key elements for controlling operation of bar code reader device such as the elements have the name attributes “AimerDuration,” “AimerDelay,” “AimerDurationALR,” and “AimerDelayALR.” Changing the parameter settings of the above key designated elements adjusts the times during a decode attempt at which aiming LEDs6318(FIG. 1e) will be energized. Other key designated elements of the XML file of Table 1 include parameter setting values for use in adjusting other aspects of the operation of bar code reader device14. For example, parameters of the key designated elements having the name attributes “CenteringTop,” and “CenteringBottom” changes a region of interest of a captured image captured by activation of image sensor1406. Also, parameter settings of key designated elements having the name attributes “AztecCode,” AztecMases,” and “CodeaBar” can be changed to designate whether a symbology decoding algorithm of bar code reader14is to be enabled and to establish characteristics of the decoding algorithm such as minimum and maximum message length. The key elements of the XML configuration file of Table 2 are subsidiary to a device element (i.e., the element with the name attribute “ScanDemo”) but are not direct child elements of the device element. Rather, additional section elements (the elements having the name attributes “Decode,” “Symbologies,” and “Centering”) are included in the XML configuration file of Table 2 in order to divide the types of key designated defining elements into different parameter categories.

VIII. Building Data Packages

FIGS. 8a-8oare a series of screen shots illustrating GUI interface display screens that can be displayed by a host computer100in accordance with a packaging module thereof for purposes of building a data package comprising file data corresponding to a plurality of files and wherein compression selection data and encryption selection data for the various files can be selected on a file by file basis. With reference to the screen shots ofFIGS. 8a-8oshowing graphical user interface display screens of host computer100, a system is described wherein a data package can be built having a file data of a plurality of files such that only a subset of the file data is encrypted and/or only a subset of the file data is compressed.

With reference now to the screen shots ofFIGS. 8a-8o, a system is described for building a multiple file data package wherein compression settings and encryption settings for the data package can be established on a file by file basis.

Referring toFIG. 8a,FIG. 8ashows GUI display screen window7007which host computer100displays on display screen132in accordance with packaging module5008. As discussed previously in connection withFIG. 7g, window7007includes area7030displaying the status of the data package currently being defined by host computer100. In window7030there can be displayed a tree diagram as shown inFIGS. 8a-8gcomprising designators for data that is included in a present data package. Host computer100can be configured to have “drag and drop” functionality so that designation of window7030can be moved from location to location in window7030by dragging and dropping using pointer controller123to control pointer127. The designators of window7030can correspond to files or commands selected for transfer to data collection terminal10or to encryption selection data or compression selected data. Host computer100can be programmed to display a GUI with drag and drop functionality using an appropriate software development tool, e.g., VISUAL STUDIO.NET2003. In the screen shot ofFIG. 8a, window7030indicates that the status of the current data package is empty, i.e., no file data, command data, compression select data or encryption select data have yet been designated for inclusion in the current data package. With reference further to the graphical user interface display screen ofFIG. 8a, host computer100is configured so that when XML button7032is clicked on; host computer100displays GUI display screen window7034displaying file names of files of a default directory including XML configuration files. GUI display screen window7034can be regarded as a file selector graphical user interface display screen window7034. XML files designated in window7034are XML files designated with the extension .EXM for use in configuring various devices of terminal10such as radio transceiver devices and encoded information reader devices, e.g., a bar code reader device14.

Referring toFIG. 8b,FIG. 8bshows a graphical user interface display screen displayed by host computer100when the file “IMAGEDEMO.EXM” designated with reference numeral8012is selected from file selector window7034shown in the screen shot ofFIG. 8a. When the file designated by reference numeral8012is selected for transfer to data collection terminal10, package status window7030displays designator8022to indicate that file data of the file IMAGEDEMO.EXM is included in the designated current data package. Field8016of window7007designates the path of the selected file. In the case shown inFIG. 8b, a selected file is stored locally on host computer100as indicated by the C: file directory path. However, it will be understood that the directory can be selected to select a directory of any computer within the network view ofFIG. 2d. In area8018, a user can designate the directory for storing the selected file into a memory of terminal10when the selected file is transferred to terminal10either by reading decoded data encoded in a decodable dataform or by file transfer without encoding.

Referring toFIG. 8c, the screen shot ofFIG. 8cillustrates the manner in which window7007can be utilized to add file data corresponding to additional files to the current package. Referring again toFIG. 8b, it is seen that a designator corresponding to a selected file such as designator8022is highlighted just after it is selected. It will be seen herein that the highlighting of a child designator8022as opposed to a root designator8024has significance. Specifically, if a compression setting or an encryption setting is selected with a child designator8022highlighted, the compression or encryption setting will be applied only to the file data associated with that highlighted child designator and not to other file data of the current package. Referring to the screen shot ofFIG. 8c, when XML button7032is selected, file display window7034is displayed by host computer100to enable selection of an XML file. Referring to the screen shot ofFIG. 8d, host computer100is configured so that file data corresponding files can be added to a data package either by clicking on a button7032or button7033. Button7032is an XML file button and results in a file selector window7034being displayed that displays XML files that can be added to the current package. Button7033is a general file selector button. When general file selector button7033is selected, host computer100displays file selector window7034as shown inFIG. 8d. When general file selector button7032is clicked on rather than XML file selector button7032, file types in addition to XML files types are displayed in window7034. For example, in file selector window7034of the screen shot ofFIG. 8dnumerous file types are available for selection including EXM files (.EXM) which are XML files specially made for use in system1000, XML files, JPG files (JPG) and INI files (INI).

Referring toFIG. 8e,FIG. 8eis a screen shot showing a graphical user interface display screen on display132after the file DEVICECONFIG.EXM is selected using file selector window7034as shown inFIG. 8candFIG. 8d. When file DEVICECONFIG.EXM is selected, package status window7030indicates that file DEVICECONFIG.EXM is part of the package. Referring to the graphical user interface display screen ofFIG. 8f,FIG. 8fillustrates the selection of a file for inclusion in the current data package that is not an XML file. When it is desired to add a file for transferring to data collection terminal10that is not an XML file for use in configuring a device of terminal10or for any other purpose, generic file selector button7033is clicked on. Host computer100is configured so that when button7033is clicked on; file selector window7034is displayed displaying the names corresponding to XML file and non-XML files in a default directory. Host computer100is configured so that with window7034displayed, folder icon7036can be clicked on so that contents other than the default folder are displayed. With further navigation contents of any folder of any computer within the network ofFIG. 2dcan be displayed on display132.

FIG. 8gshows a screen shot illustrating the display of a graphical user interface display screen on display132after a file stored on a computer other than computer100is selected for transfer to data collection terminal10. Data entry field8016of the screen shot ofFIG. 8gindicates that a selected TIF file is located on a computer spaced apart from host computer100. Specifically, the U: path indicated in area16indicates that the selected TIF originally resided in server110,110-1as indicated inFIG. 2d. After the file PICTURE.TIF is selected for inclusion in the current data package, the package status area7030indicates the selected file PICTURE.TIF is included in the designated current package. The generic file GUI display screen ofFIG. 8gwhich is displayed when a non-XML file is selected for transfer is similar to the XML file GUI display screen ofFIG. 8ewhich is displayed when an XML configuration file is selected for transfer, except that fields for selecting flags and other action indicators are varied. Note that the GUI display screen ofFIG. 8ehas a simplify XML field8850and does not have an execute field8838, since system1000in an illustrative embodiment always attempts to process XML configuration document files having EXM extensions.

System1000can be configured so that data collection terminal10when receiving a data package from host100, either by decoding an encoded dataform, i.e., one or more bar codes or by direct data package transferring over a communication path to data collection terminal10, data collection terminal10automatically attempts to execute the received file by associating an executable file with the received file in an attempt to open or run the received file.

As indicated byFIG. 8i, system1000is configured to enable a user to incorporate one or more command lines into a multiple file data package built by host computer100.FIG. 8iis a screen shot illustrating use of a command line feature to designate a particular program for opening an image file; namely, the file PICTURE.TIF included in a current data package. Host computer100is configured so that when command line icon7037is clicked on, host computer100displays command line window8002as indicated inFIG. 8i. If command line window8002is displayed, a user can enter any desired command line into area8032. In the screen shot ofFIG. 8ithe command line IEXPLORE.EXE/IPSM/PICTURE.TIF is entered into data entry8032. When OK button8034is clicked on, command data corresponding to the command line becomes part of the current data package as is indicated by the screen shot ofFIG. 8j. Host computer100can be configured so that whenever a file or command is selected for transfer to data collection terminal (e.g., by adding a designator to window7030or by highlighting a designator) a user is presented with a GUI display screen allowing a user to select one or more action indicators such as flags for each file or command selected. When an XML configuration document file designated with EXM extension is selected for transfer, the GUI display screen ofFIG. 8ecan be displayed. When a non-EXM file is selected for transfer, the GUI display screen ofFIG. 8gmay be displayed. When a command is selected for transfer, the GUI display screen ofFIG. 8hmay be displayed. It will be seen that additional GUI display screens may be displayed when compression selection data and encryption selection data is added to a data package. Accordingly, it is seen that host computer100can be configured to prompt a user, by presenting data entry fields, to set separate action indicators for each file and for each command that is selected for transfer for a data package that can contain file data of more than one file and command data of more than one command. A file or command can be regarded as being selected for transfer when a designator for the file or command is caused to appear in window7030. If button7139is clicked on, a user may be prompted to enter user defined data into a data entry field of host computer100. User defined data, as has been described is data that does not correspond to a file or a command.

Referring to the screen shot ofFIG. 8j, package status area7030indicates that the command line entered into window8002has been associated as part of the current data package being defined. Referring to the screen shot ofFIG. 8j, package status window7030indicates that two XML files, a picture file (PICTURE.TIF) and a command line to open the image file have been designated for inclusion in the current data package. The current data package, the status of which is indicated in window7032, can be encoded into a dataform at any time by clicking on bar codes icon (button)7052. The created encoded dataform can be subsequently decoded by data collection terminal10. Files rebuilt at data collection terminal10by processing of a received data package will be processed in the order indicated in package status window7030. In an important aspect, host computer100is configured so that the ordering of files and commands of a current data package can be altered or changed simply by dragging and dropping designators8022,8025,8026,8028for the data package data displayed in area7030into a desired ordering. For example, pointer controller123can be used to move pointer127(FIG. 1a) to click on a designator within area7030to change the ordering of the data package data. For example, host computer100can be configured so that the ordering of the data package data designated by designator8025and the designator8022can be switched by clicking on the designator8025dragging it upwards (i.e., “dragging and dropping”) into the location of8022so that the ordering of designators8025and8022is reversed. The ordering of any of the designators designated within package status window7030can be changed by the same drag and drop method. In certain instances, the ordering of the data of a defined data package is of significance. For example, in the screen shot ofFIG. 8j, the ordering of the command line designator8028after the image file designator8026is intentional. With the command line corresponding to designator8028being executed after the image file is buffered and/or stored on data collection terminal10, there will be assurance that the image file resides on data collection terminal at the time the command to open the image file is made. Referring to the screen shot ofFIG. 8j, host computer100can be configured so that package building window7007includes compression button7058for selecting compression of file data and command data and an encryption button7056for selecting encryption of file data and command data. In the screen shot ofFIG. 8j, XML file designator8025corresponds to an XML configuration file selected for transfer is highlighted. Host computer100is configured so that when compression button7058is selected with designator8025highlighted the highlighted file and only the highlighted file is designated for compression. Similarly, host computer100is configured so when encryption button7056is selected with designator8025highlighted as shown inFIG. 8j, the file corresponding the highlighted designator and only the file data corresponding to the highlighted designator is designated for encryption.

Referring now to screen shotFIG. 8k,FIG. 8kshows a GUI display screen display displayed by display132when encryption icon (button)7056is selected with the designator8025highlighted. The hierarchy of the tree diagram of package status window7030indicates that when encryption button7056is selected with designator8025highlighted the current package will be established so that only the file DEVICECONFIG.EXM will be designated for encryption independent of a global encryption option which will be described later herein. With further reference to the GUI screen display ofFIG. 8k, screen display window7007of the screen display ofFIG. 8kincludes data entry field8042allowing a user to enter a password. Using data entry field8043a user can also designate that a built-in password will be used. A password entered into field8042can be used as an encryption key for encrypting data. If the data package designated by package status window7030ofFIG. 8kis encoded into a decodable dataform and later decoded by data collection terminal10with a global encryption option selected, data collection terminal10when encoding the dataform, i.e., a bar code symbol or set of bar code symbols will prompt on display screen32of data collection terminal10a user of system1002enter into data collection terminal10a password corresponding to the selection of the global encryptions selection. Further, when processing encryption selection data included in a data package in response to designator8029being selectedFIG. 8k, data collection terminal10will display on display32of data collection terminal10a prompt prompting user of data collection terminal10to enter the password entered in information area8042of the GUI display screen ofFIG. 8k. Because in the data package illustrated in package status window7030of the screen shot ofFIG. 8kan encryption designator is not selected for any of designators8022,8026or8028, data collection terminal10will not prompt a user to enter a separate password when processing rebuilt files rebuilt by processing of a received data package other than the file corresponding to designator8025for which encryption is selected.

In the screen display ofFIG. 8l, the package indicated has the same status as the package indicated in package status area7030ofFIG. 8kexcept that in the screen shot ofFIG. 8la designator8026corresponding to an image file is highlighted. When compression button7058is selected, with the designator8026highlighted, file data corresponding to designator8026and only file data corresponding to designator8026is designated for compressing. After the compression button7058is clicked on, the screen display displayed on display132by host computer100has the form shown inFIG. 8m. Package status window7030of the screen shot ofFIG. 8mindicates that file data corresponding to file image file designator8026and only that file data is designated for compression independent of a global compression selection.

It is seen that host computer100is configured so that when encryption button7056is clicked on, an encryption designator8029is inserted into the tree diagram of window7030illustrating characteristics of the present data package3000. Likewise, with reference to the screen shot ofFIG. 8m, host computer100can be configured so that when compression button7058is clicked on, a compression designator8039is automatically inserted into the tree diagram of window7030. The locations of encryption designators8029and compression designators8039within the hierarchical tree diagram indicate which data of a data package is to be encrypted and which data is to be compressed. Host computer100can be configured so that all data corresponding to designators displayed as children of an encryption designator are encrypted and all data corresponding to designators displayed as children of compression indicators are to be compressed. Accordingly, in the example of the data package represented by the tree diagram ofFIG. 8m, the file data set corresponding to file designator8025is encrypted and the file data set corresponding to designator8025is compressed. In the example of the data package represented by the tree diagram ofFIG. 8p, the file data set corresponding to file designators8031and8032are encrypted (there being two child file designators under the encryption designator8029), and the file data set corresponding to designator8024is compressed. Host computer100can be configured so that like the file and command designators, the encryption designator8029and the encryption designator8029can be maneuvered about within a displayed hierarchical tree diagram by dragging and dropping of the designators8029and8039. Thus, a set of sibling file designators can be designated for compression simply by dragging and dropping a compression designator8039into a location in the tree diagram so that it is a parent designator of the setting sibling designators. The set of sibling file designators can alternatively be designated for encryption by dragging and dropping an encryption designator as a parent of the designators for the files. A data package having any desired layering of encryption or compression for the data of the data page file can be easily defined by dragging and dropping encryption designators and compression designators into appropriate positions in the hierarchical tree diagram of window7030. Host computer100can further be configured to encrypt and compress data off a data package in a manner corresponding to the selections that are designated in the tree diagram displayed in window7030. Host computer100can further be configured to include encryption selection data and compression selection data in a data package in such manner that the data collection terminal can examine the encryption selection data and accordingly apply decryption and decompression schemes in a manner consistent with the applied encryption and compression schemes to rebuild files and commands originally selected for transfer. It will be understood that as encryption selection data and compression selection data of a data package is being defined commands are also being developed to encrypt and compress data of a data package in a manner that is in accordance with the encryption selection data and compression selection data, such that original files and commands can be rebuilt at terminal10on de-packaging.

The screen shots ofFIGS. 8nand8oillustrate that a global compression and a global encryption selection for an entire data package can be made independent of encryption and/or compression selections for file data corresponding to individual files of a data package being built. When root designator8024is highlighted by clicking on of the “My Package” text in designator area7030, window7007displays a graphical user interface enabling a user to designate either or both of global compression or global encryption of an entire data package. In the screen shot ofFIG. 8nglobal compression is set on using data entry field8062and global encryption is set on using data entry field8064. When global encryption is set on, a user is prompted to set a password for an entire data package by the presentation of button8086. When button8086is clicked on, a user can enter a password in a password entry data entry field (not shown). If the data package is subsequently encoded into an encoded dataform, e.g., by clicking on button7056and the decodable dataform is subsequently decoded by data collection terminal10, terminal10prompts on display32a user of data collection terminal10to enter into data collection terminal10the global password for processing of the entire data package. With reference toFIG. 8o, a screen shot is displayed showing the GUI display screen displayed on display132of host computer100after global compression and global encryption are set to off using area8062and area8066. When global compression and global encryption are set to off the global password button8066is disabled. Also, with global compression off and encryption off the size of the current data package increases as seen by comparison of the package size designation indicator8070(between the GUIs andFIGS. 8nand8o) which can be incorporated as part of window7007.

It will be seen that a data package defined in area7030as shown in the screen shot ofFIG. 8nwith global compression and encryption ON can take the form of data package3000-6shown inFIG. 3f. In data package3000-6, one file data set has one layer of encryption and one layer of compression, one file data set has two layers of encryption and one layer of compression, one file data set has one layer of encryption and two layers of compression, and the command line data set has one layer of encryption and one layer of compression. With global encryption and compression turned OFF, the data of a data package built by host computer100can be in the form of data package3000-7as shown inFIG. 3g. In data package3000-7ofFIG. 3g, one file data set has no layers of encryption and no layers of compression, one file data set has an encryption layer but no compression layer, one file data set has a compression layer but no encryption layer and the command line data set has no encryption layer or compression layer.

With precise control over the data of a data package being made available, a variety of useful data packages can be defined. For example, it may be desirable to transfer to data collection terminal10a set of files, wherein all of the files except one of the files are low security files which can be accessed by any person, and wherein one of the files is a high security file which can be accessed only by an administrator. The present system can be used to make a data package, with minimal effort, which includes file data corresponding to several low security files, and file data corresponding to the one high security file. In building such a data package, a user would move encrypt designator8029in such position as to designate encryption for the one high security file and would set a password access action indicator so that terminal10requests a password for only the one security file on de-packaging.

Package headers built by host computer100provide instructions as to the manner in which data collection terminal10is to process the data package. When processing a data package, the data collection terminal10examines flags and other action indicators that have been selected for inclusion in the data package by using host computer100. For example, a package header data flag of a data package built by host computer100may indicate that data collection terminal10should be rebooted when processing of the data package. A flag of a package header built by host computer100may also indicate that data collection terminal100is to provide an output interface indicating the process of the processing of the data package. A summary of exemplary flags and other action indicators (e.g., password selection flags, IDs, etc) that can be applied to data packages is provided in Table I with further description of the operation of the flags and indicators provided in the ensuing description. In the “function” column of Table I reference is made toFIG. 8n, showing an exemplary GUI display screen which can be used to set flags and other action indicators for a data package.

TABLE IData package Flags and IndicatorsData EntryFlag/IndicatorFunctionField (FIG. 8n)IDAllows a user to set an ID for the data8802package. A user can type in e.g.,function of the data package and theinformation will be saved on the datacollection terminal.After Reading -Allows a user to select whether the data8804Rebootcollection terminal is to be rebooted.(drop downWhen the reboot flag is raised, the datamenu accessedcollection terminal will automaticallyby clicking onreboot after processing a data package.8806)Certain files, after being transferred mayrequire rebooting after being saved tothe data collection terminal. Therefore,the “After Reading” reboot flag can beraised if transferring a file requiringterminal rebooting.After Reading -A data collection terminal can be8804Exitconfigured such that a decode mode can(drop downbe selected by clicking on icon 2502 ormenu accesseddisplay 32 (FIG. 1h). When a decodeby clicking onmode is selected the terminal 10 is8806)configured so that a next time trigger 24is activated terminal 10 activatesencoded information reading device 12to attempt to decode a decodabledataform (e.g., bar code, RFID tag, ICcard). When the After Reading-Exitflag is raised the terminal exits thedecode mode after processing a datapackage that has been rebuilt at theterminal 10 by decoding a decodabledataform.After Reading -When this flag is raised, a data8804Read Anothercollection terminal having a selectable(drop downdecode mode (FIG. 1h) will remain in amenu accesseddecode mode after processing of a firstby clicking ondata package rebuilt at the terminal by8806)decoding a decodable dataform.DescriptionAllows a user to encode in the data8810package a descriptor for the datapackage such as the purpose of makingthe data package.GlobalAllows a user to select whether global8062Compressioncompression is to be applied to the datapackage.GlobalAllows a user to select whether global8064Encryptionencryption is to be applied to the datapackage.Must DecryptAllows a user to designate whether all8812Allfiles must be decrypted. If data entryfield 8812 is left open to designate thatflag is not raised, decryption of somebut not all files rebuilt by data collectionterminal 10 is allowed (applies whendifferent passwords have been enteredfor encryption of file data correspondingto individual files selected for transfer).In other words, de-packaging of a datapackage is allowed to continue evenwhere decryption of encrypted datacorrespond to a certain file fails.Set PasswordAllows a user to designate a password8066for the data package. When the datapackage is received by a data collectionterminal with the “set password” flagraised, the terminal will prompt a user toenter a password before completingprocessing of the data package (e.g.,before initiating encryption) if user hasclicked on the set password button andhas entered a password for the datapackage. If a password is entered intothe host computer the host computermay use the entered password as anencryption key for encrypting datarequired to be encrypted. If the setpassword flag is not parsed, datacollection terminal 10 on depackagingcan de crypt a data package withoutprompting for entry of a password.HideIf this flag is raised, the terminal will8814not display on display 32 anyinformation regarding processing of thedata package when receiving data of thedata package.

Flags of headers that are built by host computer100in accordance with file data/command header builder110of packaging module5008are examined by data collection terminal10and indicate processing steps that are executed by data collection terminal10when processing of a data package. For example, if a data package includes file data corresponding to an executable file a flag of a file data header built by host computer100in accordance with header can indicate whether the executable file is to be executed when it has been received on data collection terminal10. A flag built by host computer100may also indicate that a file is to be rejected by data collection terminal10if there is no pre existing corresponding file already residing in data collection terminal10. A summary of flags and other action indicators that can be applied to data package in association with file data of a data package is provided in Table II with further description of the operation of the flags and indicators provided in the ensuing description. In Table II, reference is made to the GUI display screen ofFIGS. 8eand8g. Host computer100can be configured so that a GUI display screen, such as the GUI display screen ofFIGS. 8eand8g, is displayed on display132every time that a new file is selected for transfer to data collection terminal10as a data package is being defined. The presentation of the GUI display screen ofFIG. 8gallows the inclusion of file specific flags and indicators into a data package. The data collection terminal directory that can be designated in data entry field8832of the GUI display screen ofFIG. 8gcan be regarded as an action indicator to store a selected file in the designated directory when it is rebuilt.

TABLE IIFile Specific Flags and Indicators(In an illustrative embodiment, these flags and indicators can be set on afile specific basis within a data package, i.e., these flags can be set forone file selected for inclusion in data package but not for anotherfile corresponding to file data within a package).Data Entry FieldFlag/IndicatorFunction(FIGS. 8e, 8gRemote FileData entry field allows a user to8832designate the terminal filedirectory for the selected file.TemporaryWhen this flag is raised the file8836selected for transfer and rebuiltat the terminal will be deletedfrom a buffer memory locationafter it is buffered during de-packaging of a data package.OverwriteWhen this flag is raised the data8840Mode -collection terminal always(drop down menuAlwaysoverwrites an existing file of theaccessed by clickingdata collection terminal havingon 8042)the same name and directory asthe file selected for transfer.OverwriteWhen this flag is raised the data8840Mode -collection terminal never(drop down menuNeveroverwrites an existing file of theaccessed by clickingdata collection terminal havingon 8042)the same name as the designateddirectory.OverwriteWhen this flag is raised the data8840Mode -collection terminal overwrites an(drop down menuNewerexisting file having the sameaccessed by clickingname and designated directoryon 8042)as the file designated for transferif the file designated for transferis newer than the existing file ofthe data collection terminal. Forsuch a determination datacollection terminal 10 canexamine “modified time anddate” fields, such as field 3053(FIG. 3b) of the transferred fileand the files presently stored atterminal 10.OverwriteWhen this flag is raised the data8840Mode -collection terminal displays on(drop down menuPromptdisplay 32 a prompt on readingaccessed by clickingthe flag prompting a user toon 8042)enter an action indicator intodata collection terminalindicating whether the file beingrebuilt at the data collectionterminal is overwriting a file ofthe data collection terminal.Read OnlyWhen this flag is raised, the file8850selected for transfer isdesignated or read only whenbuilt at the data collectionterminal.ExecuteWhen this flag is raised, data8838collection terminal 10automatically attempts toexecute the file selected fortransfer when processing a datapackage. For example, if theselected file is an executable file,data collection terminal 10executes the file when rebuilt atthe data collection terminal 10.If the selected file is an imagefile, data collection terminal 10automatically opens a suitableviewer and attempts to open thefile. If this flag is not raised,data collection terminal 10makes no attempt to execute thefile when it is rebuilt on datacollection terminal 10.SystemWhen this flag is raised the file8852selected for transfer isdesignated as a system file whenrebuilt at the data collectionterminal and saved into thedirectory designated in dataentry field 8832.HiddenWhen this flag is raised the file8856selected for transfer isdesignated as a hidden file whenrebuilt at the data collectionterminal and saved into thedirectory designated in field8832.ArchiveWhen this flag is raised the file8858selected for transfer isdesignated as an archived filewhen rebuilt at the datacollection terminal and savedinto the directory designatedfield 8832.SimplifyWhen this flag is raised the file8868XMLselected for transfer is a XMLconfiguration file, unnecessarydata of an XML document file isremoved from the file beforebeing included into the datapackage. Description text(defined with use of “desc=”attributes in the examples) canbe removed along with disabledelements. The GUI displayscreen of FIG. 7e can beconfigured to allow a user to“disable” elements of an EXMXML file being edited byallowing a user to change flagstatus of “flags=” attributes ofthe XML file. Using the GUI ofFIG. 7e a user can right clickover a name or parameter settingdisplayed to change the “flags”status of the element associatedwith the displayed name orvalue. After an element hasbeen disabled, a parametersetting of the element cannot bemodified unless the element isagain enabled.CompressWhen this flag is raised,8864compression is applied to filedata for the specific file selectedfor transfer, but not to other filedata of the data package unlesscompression is also selected forthe other file. When processingthe data package, the datacollection terminal examinescompression selection data anddecompresses all compressedfiles. Compression andencryption selection data canalso be designated using a treediagram with drag and dropfunctionality.EncryptionWhen this flag is raised,8866encryption is applied to file dataof the file selected for transferbut not to other file data unlessspecifically selected. The datacollection terminal examinesencryption selected data of datapackage and decrypts all filedata selected for encryption.Encryption selected data canalso be designated using a treediagram with drag and dropfunctionality. If data entry field8866 is checked host computer100 may prompt a user to enter apassword into a data entry fieldof display 132.EncryptionWhen a file specific password isAn encryptionPasswordentered, the data collectionpassword dataterminal will prompt a user toentry field mayenter the file specific passwordtake the form ofprior to de-encryptingfield 8042(decrypting) the file on the(FIG. 8K).terminal. When password isentered into host computer 100,host computer 100 may use thepassword as a key for encryptingthe data required to beencrypted. In processing a datapackage, a terminal may prompta user to enter a plurality ofdifferent passwords (e.g.,package password and severalfile specific passwords).

A summary of flags and other action indicators that can be applied to data package in association with command data of a data package is provided in Table III with further description of the operation of the flags and indicators provided in the ensuing description.

TABLE IIIFlags and Indicators For Commands(e.g., Command Lines and Script)Data entry FieldFlag/IndicatorFunction(FIG. 8h)WaitWhen this flag is raised, the data8880collection terminal when processingthe data package suspends processingof the remainder of the data of the datapackage until the command (e.g.,command line or script) has beenexecuted.HideWhen this flag is raised, the terminal8882does not display on its display 132information indicating that it isexecuting the encoded command.

As is indicated by the screen shot views ofFIG. 7g(in window7007),FIG. 7j(in widow7011), andFIG. 8o(in window7007), host computer100can be configured to display GUI encoding control buttons in addition to bar codes button7052. As is indicated by the referenced views, host computer100can be configured to display an RFID encoding control button7060, a card encoding control button7062, and a USB stub encoding control button7064. Host computer100can be configured so that when RFID encoding control button7060is clicked on, host computer100generates a command to encode data of a data package into an RFID tag. Host computer100can further be configured so that when card encoding control button7060is clicked on, host computer100generates a command to encode data of a data package into an IC card (Smart Card). Host computer100can further be configured so that when USB stub encoding control button7060is clicked on, host computer100generates a command to encode data of a data package into a USB stub (not shown) which my be docked to host computer100at a physical port of I/O interface180. For encoding of an RFID tag1620, tag1620can be brought into close proximity with RFID reader unit16of data collection terminal100. Host computer100with RFID tag1620situated in close proximity with data collection terminal100can send the generated RFID encoding command to data collection terminal10over one of the network connections described in connection withFIGS. 2a-2d. Alternatively, host computer100can have a dedicated RFID tag encoder (not shown) which is adapted for electrical contact connection with RFID tag1620. For encoding of RFID tag1620, host computer100can send the generated RFID tag encoding command to the dedicated RFID encoder. The dedicated RFID encoder can be disposed in an interior of host computer housing101, or externally of housing101. For encoding of IC card1820, IC card182can be physically inserted into card reader1810of data collection terminal100so that IC card1820is in electrical contact with contacts1802of card reader device18. With IC card1820inserted into card reader1810, host computer host computer100can send the generated IC card encoding command to data collection terminal10over one of the network connections described in connection withFIGS. 2a-2d. Alternatively, host computer100can have a dedicated card reader device (not shown) and can send a generated card encoding command to the dedicated card reader. The dedicated card reader device can be disposed externally or internally relative to housing101of host computer100. For encoding of a USB stub (not shown), host computer100can write a data package to a USB stub docked to host computer100when host computer generates a command to encode a USB stub in response to USB stub encoding control button7064being actuated.

With reference to the screen shots ofFIGS. 8pand8qadditional methods by which a data package built by host computer100can be sent to an external computer, including data collection terminal10are described. Host computer100can be configured so that when a data package is built, clicking on file button7074causes window7070to be displayed as shown inFIG. 8b. The “Save As” button7072can then be clicked on to cause display of “Save As” window7015as shown inFIG. 8q. With “Save As” window7015displayed as shown inFIG. 8q, a user can click on button7022numerous times until a menu of available drives is shown as is indicated in the screen shot view ofFIG. 8q. In the screen shot view ofFIG. 8qwhere host computer100building a data package is computer100-1ofFIG. 2d, T drive (“T:”) can indicate remotely located server110-2and U: drive (“U:”) can indicate local spaced apart external server110-1and V drive (“V:”) can indicate data collection terminal10,10-1. When one of the drives is selected by clicking on, available directories in the drive are displayed by window7015, and a selection of an appropriate directory can be made. Pressing save button7076saves the built data package to the designated folder in the designated computer. When save button7076is clicked on, host computer100may initiate a File Transfer Protocol (“FTP”) session or another type of communication session such as a non-IP based communication protocol session to transfer the built data package to the designated computer or terminal in a designated file directory.

Referring again to the screen shot display ofFIG. 8o, host computer100can be configured so that host computer100includes data package transfer button8080. Host computer100can be configured so that when button8080is clicked on, package transfer graphical user interface window8094is displayed on display132. In data entry field8090a user can designate whether a built data package is to be transferred using the File Transfer Protocol (“FTP”). In data entry field8092a user can designate whether a built data package is to be transferred using ACTIVESYNC, a software module from MICROSOFT, Inc. installable between two point-to-point connected computers for achieving synchronization between the computers. In areas8084,8086, and8088a user can designate computers and directories into which to store the built data package. For example, a user can designate T:\packages\NewProject.ezp in area8084for storing the data package into remotely located computer110-2. A user can designate U:\packages\NewProject.ezp in area8086for storing the data package into an external locally located computer110-1and can designate V:\packages\NewProject.ezp in area8088for storing the data package into data collection terminal10,10-1and w:\packages\Newproject.ezp into another field that is like fields8084,8086,8088, accessed by pressing “More” button8894to designate another data collection terminal10,10-2. Destination indicating information other than directory information can be entered into areas8084,8086,8088. For example, IP addresses can be entered into areas8084,8086,8088to designate different computers. Telephone numbers that are mapped to IP addresses can also be entered into areas8084,8086,8088as well as website addresses that are mapped to IP addresses. When OK button8096is clicked on, host computer100sends the built data package to all of the designated computers including all selected data collection terminals10designated in areas8084,8086,8088. Host computer100can send the data package to all of the designated receiving computers simultaneously or sequentially one after the other. Host computer100can be configured so that when more button8094is clicked on, additional data entry field identical to areas8084,8086,8088are displayed on display132enabling a user to designate additional computers for receipt of the built data package.

Referring again to the screen shot display ofFIG. 7b, host computer100can be configured so that built XML configuration files can be sent to a designated computer such as computer110-2, computer110-1, and computer10-1(FIG. 2d) by opening window7003and clicking on either “Save As”7045button or “Save to computer As” button7046. When “Save As” button7045is clicked on, computers for receiving the built XML data package can be designated in the manner described in connection withFIGS. 8pand8q. Host computer100can be configured so that if “Save to Computer As” button7046is clicked on; host computer100saves the built XML file to data collection terminal10using ACTIVESYNC communication.

Further aspects of system1000are described with reference to Appendices A, B, and C herein. In the appendices A, B, and C, file data sets and command data sets as described herein are referred to generically as “objects”. Also referred as “objects” in the appendices is (i) the combination of a set of fields making up an incidence of encryption selection data, and associated encrypted data and (ii) the combination of a set of fields making up an incidence compression selection data, and associated compressed data.

There is provided in one embodiment a data collection system including a data collection terminal having an encoded information reader device and a computer spaced apart from the data collection terminal. The data collection terminal in one embodiment can be configured to be responsive to configuration data expressed in an extensible markup language. The computer in one embodiment can use an existing extensible markup language document to create a data entry screen to received desired parameter settings for the data collection terminal within data entry fields of the data entry screen. The computer can further combine the extensible markup language document with the desired parameter settings to create configuration data and can initiate a transfer of the configuration data to the data collection terminal. The computer in one embodiment can be used to create for transfer to the data collection terminal a data package including file data corresponding to one or more selected files, together with additional data. The system provided can be used to transfer data, including but not limited to configuration data, between computers that are not data collection terminals and which are devoid of encoded information reader devices.

A small sample of methods and apparatuses that have been described herein above are as follows:

(A1) A data collection system comprising: a hand held portable data collection terminal having a bar code reader device for decoding bar code symbols, a manual trigger for actuation of bar code decoding, and a radio transceiver; and a computer spaced apart from said hand held portable data collection terminal, said computer having a display, said hand held portable data collection terminal and said computer being configured as part of an IP network including both of said hand held portable data collection terminal and said computer; said computer being configured to display a graphical user interface prompting an operator of said data collection system to enter configuration data for reconfiguring said radio transceiver, said computer further being configured to process configuration data entered by said operator at said computer to build an extensible markup language document including said entered data; wherein said data collection system is configured so that said extensible markup language document can be transferred from said computer to said hand held portable data collection terminal either by way of (i) encoding data of said extensible markup language and then decoding said encoded data utilizing said bar code reader device of said portable data collection device or (ii) transmitting data of said extensible markup language document from said computer to said portable data collection terminal utilizing a data communication protocol supported by said IP network. There is also described (A2) The data collection system of claim A1, wherein said computer is further configured to build a data package including said extensible markup language document and file data corresponding to a file other than extensible markup language document. There is also described (A3) The data collection system of claim A1, wherein said computer and said portable data collection terminal are included in a common local area network.

There is also described (B1) A data collection system comprising: a hand held portable data collection terminal having a bar code reader device for decoding bar code symbols, a manual trigger for actuation of bar code decoding, and a radio transceiver; a computer spaced apart from said hand held portable data collection terminal, said computer having a display, said hand held portable data collection terminal and said computer being configured as part of an IP network including both of said hand held portable data collection terminal and said computer; said computer being configured to display a graphical user interface prompting an operator of said data collection system to select data for inclusion in a data package, said computer building a data package in accordance with at least one selection of said operator; wherein said data collection system is configured so that said data package built by said computer can be transferred from said computer to said hand held portable data collection terminal by either of (i) encoding data of said data package and then decoding said encoded data utilizing said bar code reader device of said portable data collection terminal or (ii) transmitting said data package from said computer to said portable data collection terminal utilizing a data communication protocol supported by said IP network. There is also described (B2) The data collection system of claim B1, wherein said data communication protocol is the File Transfer Protocol (FTP). There is also described (B3) The data collection system of claim B1, wherein said first file is an executable file and said second file is an .XML file.

There is also described (C1) A data collection system comprising: a data collection terminal having an encoded information reader device, the data collection terminal responsive to configuration data expressed in an extensible markup language for configuring operation of the data collection terminal; and a computer spaced apart from the data collection terminal that uses an existing extensible markup language document to create a data entry screen to receive desired parameter settings for the data collection terminal within data entry fields, combines the extensible markup language document with the desired parameter settings to create configuration data expressed in an extensible markup language, and initiates a transfer of the configuration data to said data collection terminal. There is also described (C2) The data collection system of claim C1, wherein the transfer is initiated by encoding the configuration data within a printed symbology readable by the data collection terminal. There is also described (C3) The data collection system of claim C1, wherein the transfer is initiated by transmitting the configuration data to said data collection terminal using one of TCP/IP, USB, or IRDA. There is also described (C4) The data collection system of claim C1, wherein the transfer is initiated by generating a data package including said configuration data and file data corresponding to a file other than a configuration file. There is also described (C5) The data collection system of claim C1, wherein the existing extensible markup language document file is retrieved by the computer from the data collection terminal. There is also described (C6) The data collection system of claim C1, wherein the data collection terminal configures the encoded information reader device based on the configuration data. There is also described (C7) The data collection system of claim C1, wherein the data collection terminal further comprises a wireless communication link and wherein the wireless communication link is configured based on the configuration data. There is also described (C8) The data collection system of claim C1, wherein the extensible markup language document comprises parameter settings and descriptions of the parameter settings. There is also described (C9) The data collection system of claim C8, wherein the description of the parameter settings include validation rules. There is also described (C10) The data collection system of claim C1, wherein the extensible markup language document comprises parameter settings and attributes of the parameter settings, wherein the attributes indicate an ability of a user to modify a parameter setting. There is also described (C11) The data collection system of claim C1, wherein the computer initiates the transfer of the configuration data by removing extraneous data from the extensible markup language document. There is also described (C12) The data collection system of claim C11, wherein the extraneous data comprises data which is not required by the data collection terminal to implement parameter settings contained in the configuration data. There is also described (C13) The data collection system of claim C12, wherein the extraneous data comprises data regarding parameter settings contained in the configuration data that will not change existing parameter settings on the data collection terminal. There is also described (C14) The data collection system of claim C1, wherein the computer initiates the transfer of the configuration data structure by embedding the configuration data into a data package including file data corresponding to a plurality of different file types. There is also described (C15) The data collection system of claim C1, wherein the desired parameter settings include parameter settings for configuring an application on the data collection terminal. There is also described (C16) The data collection system of claim C1, wherein the desired parameter settings include parameter settings for configuring a user interface on the data collection terminal. There is also described (C17) The data collection system of claim C1, wherein the desired parameter settings include settings for configuring a power usage profile on the data collection terminal. There is also described (C18) The data collection system of claim C1, wherein the desired parameter settings include parameter settings for configuring a communication device on the data collection terminal. There is also described (C19) The data collection system of claim C18, wherein the communication device is one or more of a wireless networking device, an 802.11 device, a USB interface, a BLUETOOTH interface, and a cellular communication interface. There is also described (C20) The data collection system of claim C1, wherein the desired parameter settings include parameter settings for configuring a peripheral detachably attached to the data collection terminal. There is also described (C21) The data collection system of claim C1, wherein the computer initiates the transfer of the configuration data by outputting one or more bar codes representative of the configuration data. There is also described (C22) The data collection system of claim C21, wherein the computer outputs the one or more barcodes onto a display associated with the computer. There is also described (C23) The data collection system of claim C21, wherein the computer outputs the one or more barcodes onto a printer associated with the computer. There is also described (C24) The data collection system of claim C1, wherein the computer in combining the extensible markup language document with the desired parameter settings integrates the extensible markup language document with any desired parameter settings by updating items within the extensible markup language document based on user input received via the data entry screen and removing items for which no desired parameter settings are received or for which no change is indicated. There is also described (C25) The data collection system of claim C24, wherein the data collection terminal comprises an application that receives the configuration data and facilitates modifying the behavior of the data collection terminal based on the parameter settings contained in the configuration data. There is also described (C26) The data collection system of claim C25, wherein the application overrides existing parameter settings not included in the configuration data. There is also described (C27) The data collection system of claim C25, wherein the application only updates parameter settings included in the configuration data. There is also described (C28) The data collection system of claim C1, wherein the data collection terminal comprises an application that receives the configuration data and facilitates modifying the behavior of the data collection terminal based on the parameter settings contained in the configuration data. There is also described (C29) The data collection system of claim C28, wherein the application replaces a pre-existing configuration data structure on the data collection terminal with a received data structure including the configuration data. There is also described (C30) The data collection system of claim C28, wherein the application updates parameter settings in a pre-existing configuration file on the data collection terminal based on the received configuration data. There is also described (C31) The data collection system of claim C28, wherein the application uses the configuration data to either replace or update a pre-existing configuration file on the data collection terminal based on a flag in a data structure including the configuration data. There is also described (C32) The data collection system of claim C1, wherein said computer in combining said extensible markup language document with said desired parameter settings replaces existing parameter settings of said extensible markup language document with new parameter settings input by a user of said system. There is also described (C33) The data collecting system of claim C1, wherein said encoded information reader device is selected from the group consisting of a bar code reader device, an RFID reader device, and a card reader device.

There is also described (D1) A data collection system comprising: a data collection terminal having an encoded information reader device, the data collection terminal having an extensible markup language document from which the data collection terminal is configured; a computer that uses a copy of the extensible markup language document to create a data entry screen to receive desired settings in data entry fields for configuring the data collection terminal, combines the extensible markup language document with the desired settings to create configuration data, and initiates a transfer of the configuration data to a data collection terminal spaced apart from said computer; and a configuration application on the data collection terminal that receives the configuration data and updates or replaces the extensible markup language document with data contained in the configuration data structure.

There is also described (F1) A system comprising: (a) a data collection terminal having an encoded information reader device, a control circuit, a radio transceiver, and a memory, the memory storing an Extensible Markup Language configuration file, the configuration file having a hierarchical tree structure, the configuration file having a device element including name content designating a device of said data collection terminal and a plurality of parameter elements of lower hierarchy than said device element, each of said parameter elements including parameter value content designating a parameter value controlling operation of said device; and (b) a host computer spaced apart from said data collection terminal, wherein said host computer is operable in a mode in which said host computer reads said configuration file from said data collection terminal, parses said configuration file and displays said name content designating a device of said terminal in a graphical user interface window, the host computer enabling a user to change parameter values of said configuration file, the host computer building an edited configuration file including parameter values changed by a user, the host computer being configured so that said host computer can display parameter values associated with said device that can be changed by a user. There is also described (F2) The system of claim F1, wherein said device is selected from the group consisting of a radio transceiver and an encoded information reader device. There is also described (F3) The system of claim F1, wherein said host computer is configured to be commanded to encode on a physically transportable medium a decodable dataform, the decodable dataform encoding said edited configuration file and being readable by said encoded information reader device. There is also described (F4) The system of claim F1, wherein said host computer is configured to be commanded to encode on a physically transportable substrate a decodable bar code symbol, the decodable dataform encoding said edited configuration file. There is also described (F5) The system of claim F1, wherein said host computer is configured to be commanded to encode on a physically transportable medium a decodable dataform, the decodable dataform encoding said edited configuration file, the host computer having an information entry area enabling a user to designate whether content should be removed from said edited configuration file prior to being encoded.

There is also described (G1) A system for reconfiguring a data collection terminal having an encoded information reader device and a radio transceiver, said system comprising: (a) a host computer having a display and a pointer controller for controlling movement of a graphical user interface pointer on said display; (b) an extensible markup language configuration file accessible by said host computer for reconfiguring said radio transceiver, said configuration file having a radio transceiver element including name content designating said radio transceiver and a plurality of parameter elements of lower hierarchy than said radio transceiver element, each said parameter elements including parameter value content designating parameter values controlling operation of said radio transceiver, said configuration file further containing descriptive content for each of several of said parameter elements, the descriptive content including text describing the affect of changing a parameter; (c) wherein said host computer is configured to parse said configuration file and to display on said display said parameter values and said descriptive content, the host computer being configured to enable a user of said system to change a displayed parameter value displayed on said first graphical user interface window and to build an edited configuration file including a parameter value that has been changed by a user. There is also described (G2) The system of claim G1, wherein said host computer is configured to be commanded to encode in a transportable medium a decodable dataform that encodes said edited configuration file. There is also described (G3) The system of claim G1, wherein said host computer is configured to display on said display said parameter values on a first graphical user interface window separate from a second graphical user interface window display. There is also described (G4) The system of claim G3, wherein said first and second graphical user interface windows are sub-windows of a larger window.

There is also described (H1) A system comprising: (a) a data collection terminal having an encoded information reader device, a control circuit, a radio transceiver, and a memory, the memory storing an extensible markup language configuration file, the configuration file having a hierarchical tree structure, the configuration file having a radio transceiver element including name content designating said radio transceiver and a plurality of parameter elements of lower hierarchy than said radio transceiver element, each said parameter elements including parameter value content designating parameter values of said radio transceiver; and (b) a host computer spaced apart from said data collection terminal, wherein said host computer is operable in a mode in which said host computer reads said configuration file from said data collection terminal, parses said configuration file and displays said name content designating said radio transceiver and said parameter values, the host computer enabling a user to change parameter values of said configuration file, the host computer building an edited configuration file including parameter values changed by a user. There is also described (H2) The system of claim H1, wherein said host computer is configured to be commanded to encode on a physically transportable medium a decodable dataform, the decodable dataform encoding said edited configuration file and being readable by said encoded information reader device. There is also described (H3) The system of claim H1, wherein said host computer is configured to be commanded to encode on a physically transportable substrate a decodable bar code symbol, the decodable dataform encoding said edited configuration file. There is also described (H4) The system of claim H1, wherein said host computer is configured to be commanded to encode on a physically transportable medium a decodable dataform, the decodable dataform encoding said edited configuration file, the host computer having an information entry area enabling a user to designate whether content should be removed from said edited configuration file prior to being encoded.

There is also described (I1) A system comprising: (a) a host computer for use in building a data package, the host computer having a display, the host computer being configured to display a graphical user interface enabling a user to select first and second files for packaging and being configured to package into a single data package file data corresponding to a plurality of files, wherein said graphical user interface enables a user to instruct said host computer to compress file data of said first file without compressing file data of said second file, and wherein said host computer in response to receiving a user request to compress file data of said first file without compressing file data of said second file, builds a data package including file data corresponding to said first file in compressed form and file data corresponding to said second file in uncompressed form, the host computer also having a bar code button and being configured so that when said bar code button is actuated, said host computer encodes said data package into one or more decodable bar code symbols; and (b) a hand held data collection terminal having a bar code reader device, said hand held data collection terminal being configured to decode said at least one bar code symbol encoded by said host computer to recover said data package, said hand held data collection terminal further being configured to process said data package recovered when said one or more bar code symbols are decoded.

There is also described (J1) A system comprising: (a) a host computer for use in building a data package, the host computer having a display, the host computer being configured to display a graphical user interface enabling a user to select first and second files for packaging and being configured to package into a single data package file data corresponding to a plurality of files, wherein said graphical user interface enables a user to instruct said host computer to encrypt said first file without encrypting said second file, and wherein said host computer in response to receiving a user instruction to encrypt said first file without encrypting said second file, builds a data package including file data of said first file in encrypted form and file data of said second file in unencrypted form, the host computer also having a bar code button and being configured so that when said bar code button is actuated, said host computer encodes said data package into one or more decodable bar code symbols; (b) a hand held data collection terminal having a bar code reader device, said hand held data collection terminal being configured to decode said at least one bar code symbol encoded by said host computer to recover said data package, said hand held data collection terminal further being configured to process said data package recovered when said one or more bar code symbols are decoded. There is also described (J2) The system of claim J1, wherein said hand held data collection terminal is configured so that when processing data indicating that said first file is encrypted prompts a user to enter password data into said data collection terminal, and is further configured so that when data collection terminal processes data indicating that said second file is unencrypted avoids prompting a user to enter password information into said data collection terminal. There is also described (J3) The system of claim J1, wherein said encrypted first file is packaged in said package in an order after said unencrypted second file.

While the present invention has been described with reference to a number of specific embodiments, it will be understood that the true spirit and scope of the invention should be determined only with respect to claims that can be supported by the present specification. Further, while in numerous cases herein wherein systems and apparatuses and methods are described as having a certain number of elements it will be understood that such systems, apparatuses and methods can be practiced with fewer than the mentioned certain number of elements.