Abstract:
Systems, methods, and devices are described for an application independent DEX/UCS interface (AIDI). The AIDI is a “plug and play” DEX/UCS solution that removes the requirement for developers to know the structure, function, and format of DEX/UCS transaction sets and to make the DEX/UCS process independent from the existing business logic of many mobile applications.

Description:
FIELD OF THE INVENTION 
       [0001]    The present invention is related to an application independent Direct Exchange/Uniform Communication Standard (DEX/UCS) interface designed primarily, but not exclusively, for buyers and suppliers using direct store delivery (DSD). 
       BACKGROUND 
       [0002]    Many years ago, grocery stores and large retailers initiated the development of standards and technologies for receiving inventory and accepting and reconciling invoices from multiple vendors. Use of structured digital data and standard communication interfaces for exchanging purchase and delivery information was much faster than traditional hand-written invoices. Many DSD suppliers also recognized the benefits of these technologies and adopted them quickly because it allowed drivers to make deliveries and reconcile discrepancies and invoicing errors with the customer at time of delivery, as opposed to the more costly process of reconciling after the delivery. 
         [0003]    The DEX/UCS standard remains a vital part of the retail environment today. However, new problems have emerged. Recent advances in mobile consumer electronics, particularly the power, flexibility, and convenience of smartphones and tablets, have led many DSD suppliers to transition to new devices for their drivers. In many cases, this transition has necessitated a redevelopment of many of the mobile applications currently used by DSD suppliers to adapt them for these new operating systems and devices. Many companies now supply hardware and/or software for the DEX/UCS standard, including, but not limited to, the DEX Toolkit for .NET® Development by Intermec, Inc. (a subsidiary of Honeywell International, Inc.). Even with such robust tools available to help master DEX/UCS transactions for retail, developers need to acquire specific knowledge of the DEX/UCS process, structure, function, and format of the transactions sets used in order to truly integrate it into new or existing mobile applications with data constraints or defined user interfaces. In some instances, developers may also need to understand the communications protocols used to send and receive DEX/UCS data. Acquiring such a knowledgebase can be costly and time consuming. 
         [0004]    Therefore, there is a need for a “plug and play” DEX/UCS solution that removes the requirement for developers to know the structure, function, and format of DEX/UCS transaction sets and to make the DEX/UCS process independent from the existing business logic of many mobile applications. 
       SUMMARY 
       [0005]    Accordingly, one aspect of the present invention discloses a device with at least one communication interface, at least one storage repository, and a control system communicatively coupled to the at least one communication interface and the at least one storage repository and comprising at least one hardware processor and a memory storing at least one first program code and at least one second program code, wherein: the at least one first program code is operable to: receive transaction information; create a first data file in the storage repository, wherein the first data file is based on the transaction information; send a message to the at least one second program code to initiate a creation of the transaction information in an exchange format; receive a message from the at least one second program code denoting success or failure of the creation of the transaction information in the exchange format; and the at least one second program code is operable to: receive a message from the at least one first program code to initiate a creation of the transaction information in the exchange format; read the transaction information from the first data file; and create the transaction information in the exchange format; send a message to the at least one first program code denoting success or failure of the creation of the transaction information in the exchange format. 
         [0006]    In other exemplary embodiments, the at least one first program code is further operable to: issue a prompt for a connection to a second device; send a signal to the second program code to initiate a communication of the transaction information in an exchange format; receive a message from the at least one second program code denoting success or failure of the communication of the transaction information in the exchange format; and the at least one second program code is further operable to: receive a message from the at least one first program code to initiate the communication of the transaction information in the exchange format; exchange the transaction information with the second device; and send a message to the at least one first program code denoting success or failure of the communication of the transaction information to the second device. 
         [0007]    In additional exemplary embodiments, the at least one first program code is further operable to: receive a message from the at least second program code including information about a second data file; read the second data file; update acknowledged transactions; display transactions that require reconciliation; determine if there is additional transaction information; if there is additional transaction information, receive the additional transaction information and create a third data file in the storage repository, wherein the third data file is based on the additional transaction information; and the at least one second program code is further operable to: analyze the transaction information exchanged with the second device; create the second data file in the storage repository, wherein the second data file is based on analyzed transaction information; and send a message to the at least one first program code including information about the second data file. 
         [0008]    A further aspect of the present invention discloses a system, comprising: a first device comprising: at least one communication interface; at least one storage repository; a control system communicatively coupled to the at least one communication interface and the at least one storage repository and comprising at least one hardware processor and a memory storing program codes operable to: receive transaction information; create a first data file in the storage repository, wherein the first data file is based on the transaction information; send a message to the at least one second program code to initiate a creation of the transaction information in an exchange format; receive a message from the at least one second program code denoting success or failure of the creation of the transaction information in the exchange format; and a second device comprising: at least one communication interface; at least one storage repository; a control system communicatively coupled to the at least one communication interface and the at least one storage repository and comprising at least one hardware processor and a memory storing program codes operable to: receive a message from the at least one first program code to initiate a creation of the transaction information in the exchange format; read the transaction information from the first data file; and create the transaction information in the exchange format; send a message to the at least one first program code denoting success or failure of the creation of the transaction information in the exchange format. 
         [0009]    In other exemplary embodiments of the present invention, the control system of the first device is further operable to: issue a prompt for a connection to a third device; send a signal to the second program code to initiate a communication of the transaction information in an exchange format; receive a message from the at least one second program code denoting success or failure of the communication of the transaction information in the exchange format; and the control system of the second device is further operable to: receive a message from the at least one first program code to initiate the communication of the transaction information in the exchange format; exchange the transaction information with the third device; and send a message to the at least one first program code denoting success or failure of the communication of the transaction information to the third device. 
         [0010]    And in further exemplary embodiments, the control system of the first device is further operable to: receive a message from the at least second program code including information about a second data file; read the second data file; update acknowledged transactions; display transactions that require reconciliation; determine if there is additional transaction information; if there is additional transaction information, receive the additional transaction information and create a third data file in the storage repository, wherein the third data file is based on the additional transaction information; and the control system of the second device is further operable to: analyze the transaction information exchanged with the third device; create the second data file in the storage repository, wherein the second data file is based on analyzed transaction information; and send a message to the at least one first program code including information about the second data file. 
         [0011]    Another aspect of the present invention discloses a computer-implemented method that receives transaction information, creates a first data file, wherein the first data file is based on the transaction information, reads the transaction information from the first data file, creates the transaction information in an exchange format, exchanges the transaction information, analyzes the exchanged transaction information, creates a second data file, wherein the second data file is based on the exchanged transaction information, updates acknowledged transactions, displays transactions that require reconciliation, determines if there is additional transaction information, if there is additional transaction information, receives the additional transaction information and creates a third data file, wherein the third data file is based on the additional transaction information. 
         [0012]    In one exemplary embodiment of the present invention, the transaction information is selected from the group consisting of: sales information, return information, adjustment information, and counter-adjustment information. 
         [0013]    In another exemplary embodiment of the present invention, the message is of a type selected from the group consisting of: a signal, an inter-process communication, and a notification. 
         [0014]    In a further exemplary embodiment of the present invention, the exchange format is Direct Exchange (DEX)/Uniform Communication Standard (UCS) administered by GS 1 . 
         [0015]    In other exemplary embodiments of the present invention, the communication is of a type selected from the group of: a sending communication and a receiving communication. 
         [0016]    In still further exemplary embodiments of the present invention, the additional transaction information is selected from the group consisting of: sales information, return information, adjustment information, and counter-adjustment information. 
         [0017]    In alternative exemplary embodiments of the present invention, the third data file and the first data file are the same file. 
         [0018]    In yet additional exemplary embodiments of the present invention, the information about the second data file includes the location of the file in the storage repository. 
         [0019]    And in further exemplary embodiments of the present invention, the information about the second data file is the contents of the second data file. 
         [0020]    The foregoing illustrative summary, as well as other exemplary objectives and/or advantages of the invention, and the manner in which the same are accomplished, are further explained within the following detailed description and its accompanying drawings. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0021]      FIG. 1  is a block diagram of the hardware elements of the system in accordance with embodiments of the disclosed subject matter. 
           [0022]      FIG. 2A  is a flow chart and  FIG. 2B  is a corresponding schematic of the data creation process according to one embodiment of the disclosed subject matter. 
           [0023]      FIG. 3A  is a flow chart and  FIG. 3B  is a corresponding schematic of the data send process according to one embodiment of the disclosed subject matter. 
           [0024]      FIG. 4A  is a flow chart and  FIG. 4B  is a corresponding schematic of the data receive process according to one embodiment of the disclosed subject matter. 
           [0025]      FIG. 5A  is a flow chart and  FIG. 5B  is a corresponding schematic of the reconciliation process according to one embodiment of the disclosed subject matter. 
       
    
    
     DETAILED DESCRIPTION 
       [0026]    The present invention describes a mechanism to add DEX/UCS capability (e.g. the DEX/UCS standards administered by GS 1 ) to any device for use with a mobile Direct Store Delivery (DSD) application or any other mobile application, including, but not limited to, a field service application. More specifically, the DEX/UCS standards administered by GS 1 . 
         [0027]      FIG. 1  illustrates an exemplary system  100  for one embodiment of the present invention. In general, the system  100  includes a DSD device  110  and a retailer receiving system  160  comprising a DEX receptacle  130  and a retailer device  140 . The DSD device  110  and retailer device  140  may be implemented in any form of digital computer or mobile device. Digital computers may include, but are not limited to, laptops, desktops, workstations, fixed vehicle computers, vehicle mount computers, hazardous environment computers, rugged mobile computers, servers, blade servers, mainframes, other appropriate computers. Mobile devices may include, but are not limited to, cellular telephones, smart phones, personal digital assistants, tablets, pagers, two-way radios, netbooks, barcode scanners, radio frequency identification (RFID) readers, intelligent sensors, tracking devices, and other similar computing devices. 
         [0028]    In some embodiments of the present invention, the DSD device  110  connects to the retailer receiving system  160  through the DEX receptacle  130  via the connection  170 . In some embodiments, the connection  170  is a serial connection using a cable with a ¼ inch stereo jack connector. In other embodiments, the connection  170  may include other wired components, such as Ethernet, and/or wireless components, such as LTE, Wi-Fi, Bluetooth, or near field communication (NFC), or any combination of wired and wireless components. 
         [0029]    In some embodiments of the present invention, the DEX receptacle  130  connects to the retailer device  140  via the connection  180 . In some embodiments, the connection  180  is a serial connection or Universal Serial Bus (USB) connection. In other embodiments, the connection  180  may include other wired components, such as Ethernet, and/or wireless components, such as LTE, Wi-Fi, Bluetooth, or near field communication (NFC), or any combination of wired and wireless components. 
         [0030]    Note that while the DEX receptacle  130  and retailer device  140  are illustrated in  FIG. 1  as distinct devices, each may alternatively be distributed across multiple devices having the respective functionality of the DEX receptacle  130  and retailer device  140 . In yet other embodiments, the DEX receptacle  130  and retailer device  140  may be combined into one single device or distributed across multiple devices having the overall combined functionality of the DEX receptacle  130  and the retailer device  140 . 
         [0031]    In general, the DSD device  110  includes a processor  118  such as a Qualcomm MSM  7500  multi-processor, associated memory  117  such as flash memory and/or random access memory (RAM), ports  121  such as one or more serial and/or USB ports, a communication interface  119 , such as a wired interface like Ethernet and/or a wireless interface such as Wi-Fi, Bluetooth or NFC, and a storage component  114  such as a hard drive or solid state drive. The DSD device  110  may include additional components like a location determination component  111  such as a Global Positioning System (GPS) chip, audio input component  112  such as a microphone, audio output component  113  such as a speaker, visual input component  115  such as a camera, barcode reader, or scanner, visual output component  116  such as a display, and a user input component  120  such as a touchscreen, navigation shuttle, soft keys, keyboard, and accelerometer  122 . The components of DSD device  110  may be interconnected using one or more buses (not shown) and may be mounted on a motherboard (not shown) or some other appropriate configuration. 
         [0032]    DSD device  110  also has one or more files stored in the storage component  114 , including but not limited to a transaction data file  123  and an adjustments data file  124 , as described below. Note, while transaction data file  123  and adjustments data file  124  are shown as individual respective files in  FIG. 1 ,  FIG. 2B ,  FIG. 3B ,  FIG. 4B ,  FIG. 5B , and  FIG. 6B , in some embodiments, they may represent several separate files having the similar form of transaction data file  123  and adjustments data file  124 , respectively. A non-limiting example of this may be seen in steps  204  of  FIG. 2B, 600  of  FIG. 6B, and 650  of  FIG. 6B . In each of those steps, in some embodiments, the same transaction data file  123  is used. In other embodiments, each step creates a separate transaction data file  123 . 
         [0033]    In other embodiments, the transaction data file  123  and adjustments data file  124  may be stored in the storage component  133  of the DEX receptacle  130 , the storage component  144  of the retailer device  140 , or some combination therein. 
         [0034]    Examples of DSD device  110  include but are not limited to the Intermec CN50 and CN51 mobile computers and the Intermec CN70 and CN70e ultra-rugged mobile computers. 
         [0035]    In general, DEX receptacle  130  includes a processor  131  such as an ARM processor, memory  132  such as flash memory or RAM, a communication interface  134 , such as a wired interface like Ethernet and/or a wireless interface such as Wi-Fi, Bluetooth or NFC, and one or more ports  135 ,  136  ports  121  such as one or more serial and/or USB ports. DEX receptacle  130  may also include a storage component  133  such as a hard drive or solid state drive. 
         [0036]    In general, the retailer device  140  includes a processor  148  such as a Texas Instruments open multimedia applications platform (OMAP) multi-engine processor, associated memory  147  such as flash memory and/or random access memory (RAM), ports  151  such as one or more serial and/or USB ports, a communication interface  149 , such as a wired interface like Ethernet and/or a wireless interface such as Wi-Fi, Bluetooth or NFC, and a storage component  144  such as a hard drive or solid state drive. The retailer device  140  may include additional components like a location determination component  141  such as a GPS chip, audio input component  142  such as a microphone, audio output component  143  such as a speaker, visual input component  145  such as a camera, barcode reader, or scanner, visual output component  146  such as a display, and a user input component  150  such as a touchscreen, navigation shuttle, soft keys, keyboard, and accelerometer  152 . The components of retailer device  140  may be interconnected using one or more buses (not shown) and may be mounted on a motherboard (not shown) or some other appropriate configuration. 
         [0037]    In one embodiment of the present invention, the application independent DEX/UCS interface (AIDI) is installed as a feature of the mobile business application (MBA) on the DSD device  110 , where the MBA runs the AIDI as needed. 
         [0038]      FIG. 2A  is a flow chart and  FIG. 2B  is a corresponding schematic of the data creation process according to one embodiment of the disclosed subject matter. In  FIG. 2A , the process begins at Step  200  when the user launches or invokes the MBA and AIDI on the DSD device  110 . The MBA receives merchandise sales and/or return information (Step  202 ). The MBA then creates a transaction data file  123  with the sales and/or return information (step  204 ). The MBA then signals to the AIDI to initiate the creation of the DEX/UCS transaction(s) (Step  206 ). The AIDI reads the transaction data file  123  (Step  208 ), and then it attempts to create the DEX/UCS transaction(s) (Step  210 ). If any errors are detected during the creation process (Step  212 ), then the AIDI returns a message to the MBA denoting the failure to create the data (Step  214 ), and the process stops. Otherwise, as shown in Step  216 , the AIDI returns a message to the MBA denoting a successful data creation. At this point, the process continues as indicated by the connector A. 
         [0039]    Connector A from  FIG. 2A  continues then in  FIG. 3A .  FIG. 3A  is a flow chart and  FIG. 3B  is a corresponding schematic of the data send process according to one embodiment of the disclosed subject matter. The process continues in Step  300  with the MBA generating a prompt for the DSD device  110  to connect to the DEX receptacle  130  using, in one embodiment, a serial cable with a ¼ inch stereo jack connector, or some other mechanism as described above. The MBA also initiates the DEX/UCS send communications by sending a signal to the AIDI to initiate communications to send the DEX/UCS transaction(s) (Step  304 ). The AIDI then attempts to send the DEX/UCS transaction(s) to the retailer receiving system  160  through the DEX receptacle  130  (Step  306 ). If any errors are detected during the communication process (Step  308 ), then the AIDI returns a message to the MBA denoting the communication failure (Step  310 ), and the process stops. Otherwise, as shown in Step  312 , the AIDI returns a message to the MBA denoting a successful communication. At this point, the process continues as indicated by the connector B. 
         [0040]    Connector B from  FIG. 3A  continues then in  FIG. 4A .  FIG. 4A  is a flow chart and  FIG. 4B  is a corresponding schematic of the data receive process according to one embodiment of the disclosed subject matter. The MBA then checks to see if there are any more DEX/UCS transaction(s) (Step  400 ). If not, as shown in Step  404 , then the DEX/UCS portion of the MBA is now complete. The MBA may continue to run on the DSD device  110 , but it is no longer performing DEX/UCS transaction(s). If there are additional transaction(s), such as adjustments from the retailer, then the MBA will generate a prompt for the DSD device  110  to connect to the DEX receptacle  130 , if it is not already still connected from earlier in the process. The MBA also initiates the DEX/UCS receive communications by sending a signal to the AIDI to initiate communications to receive the DEX/UCS transaction(s) (Step  406 ). The AIDI then attempts to receive the DEX/UCS transaction(s) from the retailer receiving system  160  through the DEX receptacle  130  (Step  408 ). If any errors are detected during the communication process (Step  410 ), then the AIDI returns a message to the MBA denoting the communication failure (Step  412 ), and the process stops. Otherwise, as shown in Step  414 , the AIDI returns a message to the MBA denoting a successful communication. At this point, the process continues as indicated by the connector C. 
         [0041]    Connector C from  FIG. 4A  continues then in  FIG. 5A .  FIG. 5A  is a flow chart and  FIG. 5B  is a corresponding schematic of the reconciliation process according to one embodiment of the disclosed subject matter. The AIDI begins by analyzing the received transaction(s) from the retailer receiving system  160  (Step  500 ). The AIDI reports the results by creating an adjustments data file  124  with the acknowledgment and/or adjustment information (Step  502 ). The AIDI returns a message to the MBA with information about the adjustments data file  124  (Step  504 ). In some embodiments, the information about the adjustments data file is the file location information for the adjustments data file, i.e. the name of the adjustments data file and/or the path to the adjustments data file, which may be a path to the adjustments data file in the storage repository  114  on the DSD device  110 , i.e. a local path, or a path to the adjustments data file on the network, either a local area network (LAN) or a wide area network (WAN), and the MBA reads the adjustments data file using the file location information. In alternative embodiments, the AIDI returns a message to the MBA including the contents of the adjustments data file. The MBA reads the adjustments data file  124  in Step  506 , and it updates acknowledged invoices in Step  508 , and then displays adjustment information for reconciliation on the visual output  116  of the DSD device  110  in Step  510 . The MBA then may have counter-adjustments or acknowledgments to send back to the retailer (Step  512 ). If there are counter-adjustments, then the MBA creates the transaction data file  123 , which as discussed above, may be the same file or a new file depending upon the embodiment, with the adjustment/acknowledgment information (Step  514 ). The process then continues as indicated by Connector D which returns to  FIG. 2A  where the process repeats until there are no more DEX/UCS transactions to process and the DEX/UCS processing is complete (Step  404 ). Otherwise, if there are no counter-adjustments or acknowledgement information to send, the process continues as indicated by connector B which returns to  FIG. 4A  where the process repeats until there are no more DEX/UCS transactions to process and the DEX/UCS processing is complete. 
         [0042]    To supplement the present disclosure, this application incorporates entirely by reference the following commonly assigned patents, patent application publications, and patent applications: U.S. Pat. No. 6,832,725; U.S. Pat. No. 7,128,266;
   U.S. Pat. No. 7,159,783; U.S. Pat. No. 7,413,127;   U.S. Pat. No. 7,726,575; U.S. Pat. No. 8,294,969;   U.S. Pat. No. 8,317,105; U.S. Pat. No. 8,322,622;   U.S. Pat. No. 8,366,005; U.S. Pat. No. 8,371,507;   U.S. Pat. No. 8,376,233; U.S. Pat. No. 8,381,979;   U.S. Pat. No. 8,390,909; U.S. Pat. No. 8,408,464;   U.S. Pat. No. 8,408,468; U.S. Pat. No. 8,408,469;   U.S. Pat. No. 8,424,768; U.S. Pat. No. 8,448,863;   U.S. Pat. No. 8,457,013; U.S. Pat. No. 8,459,557;   U.S. Pat. No. 8,469,272; U.S. Pat. No. 8,474,712;   U.S. Pat. No. 8,479,992; U.S. Pat. No. 8,490,877;   U.S. Pat. No. 8,517,271; U.S. Pat. No. 8,523,076;   U.S. Pat. No. 8,528,818; U.S. Pat. No. 8,544,737;   U.S. Pat. No. 8,548,242; U.S. Pat. No. 8,548,420;   U.S. Pat. No. 8,550,335; U.S. Pat. No. 8,550,354;   U.S. Pat. No. 8,550,357; U.S. Pat. No. 8,556,174;   U.S. Pat. No. 8,556,176; U.S. Pat. No. 8,556,177;   U.S. Pat. No. 8,559,767; U.S. Pat. No. 8,599,957;   U.S. Pat. No. 8,561,895; U.S. Pat. No. 8,561,903;   U.S. Pat. No. 8,561,905; U.S. Pat. No. 8,565,107;   U.S. Pat. No. 8,571,307; U.S. Pat. No. 8,579,200;   U.S. Pat. No. 8,583,924; U.S. Pat. No. 8,584,945;   U.S. Pat. No. 8,587,595; U.S. Pat. No. 8,587,697;   U.S. Pat. No. 8,588,869; U.S. Pat. No. 8,590,789;   U.S. Pat. No. 8,596,539; U.S. Pat. No. 8,596,542;   U.S. Pat. No. 8,596,543; U.S. Pat. No. 8,599,271;   U.S. Pat. No. 8,599,957; U.S. Pat. No. 8,600,158;   U.S. Pat. No. 8,600,167; U.S. Pat. No. 8,602,309;   U.S. Pat. No. 8,608,053; U.S. Pat. No. 8,608,071;   U.S. Pat. No. 8,611,309; U.S. Pat. No. 8,615,487;   U.S. Pat. No. 8,616,454; U.S. Pat. No. 8,621,123;   U.S. Pat. No. 8,622,303; U.S. Pat. No. 8,628,013;   U.S. Pat. No. 8,628,015; U.S. Pat. No. 8,628,016;   U.S. Pat. No. 8,629,926; U.S. Pat. No. 8,630,491;   U.S. Pat. No. 8,635,309; U.S. Pat. No. 8,636,200;   U.S. Pat. No. 8,636,212; U.S. Pat. No. 8,636,215;   U.S. Pat. No. 8,636,224; U.S. Pat. No. 8,638,806;   U.S. Pat. No. 8,640,958; U.S. Pat. No. 8,640,960;   U.S. Pat. No. 8,643,717; U.S. Pat. No. 8,646,692;   U.S. Pat. No. 8,646,694; U.S. Pat. No. 8,657,200;   U.S. Pat. No. 8,659,397; U.S. Pat. No. 8,668,149;   U.S. Pat. No. 8,678,285; U.S. Pat. No. 8,678,286;   U.S. Pat. No. 8,682,077; U.S. Pat. No. 8,687,282;   U.S. Pat. No. 8,692,927; U.S. Pat. No. 8,695,880;   U.S. Pat. No. 8,698,949; U.S. Pat. No. 8,717,494;   U.S. Pat. No. 8,717,494; U.S. Pat. No. 8,720,783;   U.S. Pat. No. 8,723,804; U.S. Pat. No. 8,723,904;   U.S. Pat. No. 8,727,223; U.S. Pat. No. D702,237;   U.S. Pat. No. 8,740,082; U.S. Pat. No. 8,740,085;   U.S. Pat. No. 8,746,563; U.S. Pat. No. 8,750,445;   U.S. Pat. No. 8,752,766; U.S. Pat. No. 8,756,059;   U.S. Pat. No. 8,757,495; U.S. Pat. No. 8,760,563;   U.S. Pat. No. 8,763,909; U.S. Pat. No. 8,777,108;   U.S. Pat. No. 8,777,109; U.S. Pat. No. 8,779,898;   U.S. Pat. No. 8,781,520; U.S. Pat. No. 8,783,573;   U.S. Pat. No. 8,789,757; U.S. Pat. No. 8,789,758;   U.S. Pat. No. 8,789,759; U.S. Pat. No. 8,794,520;   U.S. Pat. No. 8,794,522; U.S. Pat. No. 8,794,526;   U.S. Pat. No. 8,798,367; U.S. Pat. No. 8,807,431;   U.S. Pat. No. 8,807,432; U.S. Pat. No. 8,820,630;   International Publication No. 2013/163789;   International Publication No. 2013/173985;   International Publication No. 2014/019130;   International Publication No. 2014/110495;   U.S. Patent Application Publication No. 2008/0185432;   U.S. Patent Application Publication No. 2009/0134221;   U.S. Patent Application Publication No. 2010/0177080;   U.S. Patent Application Publication No. 2010/0177076;   U.S. Patent Application Publication No. 2010/0177707;   U.S. Patent Application Publication No. 2010/0177749;   U.S. Patent Application Publication No. 2011/0202554;   U.S. Patent Application Publication No. 2012/0111946;   U.S. Patent Application Publication No. 2012/0138685;   U.S. Patent Application Publication No. 2012/0168511;   U.S. Patent Application Publication No. 2012/0168512;   U.S. Patent Application Publication No. 2012/0193423;   U.S. Patent Application Publication No. 2012/0203647;   U.S. Patent Application Publication No. 2012/0223141;   U.S. Patent Application Publication No. 2012/0228382;   U.S. Patent Application Publication No. 2012/0248188;   U.S. Patent Application Publication No. 2013/0043312;   U.S. Patent Application Publication No. 2013/0056285;   U.S. Patent Application Publication No. 2013/0070322;   U.S. Patent Application Publication No. 2013/0075168;   U.S. Patent Application Publication No. 2013/0082104;   U.S. Patent Application Publication No. 2013/0175341;   U.S. Patent Application Publication No. 2013/0175343;   U.S. Patent Application Publication No. 2013/0200158;   U.S. Patent Application Publication No. 2013/0256418;   U.S. Patent Application Publication No. 2013/0257744;   U.S. Patent Application Publication No. 2013/0257759;   U.S. Patent Application Publication No. 2013/0270346;   U.S. Patent Application Publication No. 2013/0278425;   U.S. Patent Application Publication No. 2013/0287258;   U.S. Patent Application Publication No. 2013/0292475;   U.S. Patent Application Publication No. 2013/0292477;   U.S. Patent Application Publication No. 2013/0293539;   U.S. Patent Application Publication No. 2013/0293540;   U.S. Patent Application Publication No. 2013/0306728;   U.S. Patent Application Publication No. 2013/0306730;   U.S. Patent Application Publication No. 2013/0306731;   U.S. Patent Application Publication No. 2013/0307964;   U.S. Patent Application Publication No. 2013/0308625;   U.S. Patent Application Publication No. 2013/0313324;   U.S. Patent Application Publication No. 2013/0313325;   U.S. Patent Application Publication No. 2013/0341399;   U.S. Patent Application Publication No. 2013/0342717;   U.S. Patent Application Publication No. 2014/0001267;   U.S. Patent Application Publication No. 2014/0002828;   U.S. Patent Application Publication No. 2014/0008430;   U.S. Patent Application Publication No. 2014/0008439;   U.S. Patent Application Publication No. 2014/0025584;   U.S. Patent Application Publication No. 2014/0027518;   U.S. Patent Application Publication No. 2014/0034734;   U.S. Patent Application Publication No. 2014/0036848;   U.S. Patent Application Publication No. 2014/0039693;   U.S. Patent Application Publication No. 2014/0042814;   U.S. Patent Application Publication No. 2014/0049120;   U.S. Patent Application Publication No. 2014/0049635;   U.S. Patent Application Publication No. 2014/0061305;   U.S. Patent Application Publication No. 2014/0061306;   U.S. Patent Application Publication No. 2014/0063289;   U.S. Patent Application Publication No. 2014/0066136;   U.S. Patent Application Publication No. 2014/0067692;   U.S. Patent Application Publication No. 2014/0070005;   U.S. Patent Application Publication No. 2014/0071840;   U.S. Patent Application Publication No. 2014/0074746;   U.S. Patent Application Publication No. 2014/0075846;   U.S. Patent Application Publication No. 2014/0076974;   U.S. Patent Application Publication No. 2014/0078341;   U.S. Patent Application Publication No. 2014/0078342;   U.S. Patent Application Publication No. 2014/0078345;   U.S. Patent Application Publication No. 2014/0084068;   U.S. Patent Application Publication No. 2014/0097249;   U.S. Patent Application Publication No. 2014/0098792;   U.S. Patent Application Publication No. 2014/0100774;   U.S. Patent Application Publication No. 2014/0100813;   U.S. Patent Application Publication No. 2014/0103115;   U.S. Patent Application Publication No. 2014/0104413;   U.S. Patent Application Publication No. 2014/0104414;   U.S. Patent Application Publication No. 2014/0104416;   U.S. Patent Application Publication No. 2014/0104451;   U.S. Patent Application Publication No. 2014/0106594;   U.S. Patent Application Publication No. 2014/0106725;   U.S. Patent Application Publication No. 2014/0108010;   U.S. Patent Application Publication No. 2014/0108402;   U.S. Patent Application Publication No. 2014/0108682;   U.S. Patent Application Publication No. 2014/0110485;   U.S. Patent Application Publication No. 2014/0114530;   U.S. Patent Application Publication No. 2014/0124577;   U.S. Patent Application Publication No. 2014/0124579;   U.S. Patent Application Publication No. 2014/0125842;   U.S. Patent Application Publication No. 2014/0125853;   U.S. Patent Application Publication No. 2014/0125999;   U.S. Patent Application Publication No. 2014/0129378;   U.S. Patent Application Publication No. 2014/0131438;   U.S. Patent Application Publication No. 2014/0131441;   U.S. Patent Application Publication No. 2014/0131443;   U.S. Patent Application Publication No. 2014/0131444;   U.S. Patent Application Publication No. 2014/0131445;   U.S. Patent Application Publication No. 2014/0131448;   U.S. Patent Application Publication No. 2014/0133379;   U.S. Patent Application Publication No. 2014/0136208;   U.S. Patent Application Publication No. 2014/0140585;   U.S. Patent Application Publication No. 2014/0151453;   U.S. Patent Application Publication No. 2014/0152882;   U.S. Patent Application Publication No. 2014/0158770;   U.S. Patent Application Publication No. 2014/0159869;   U.S. Patent Application Publication No. 2014/0160329;   U.S. Patent Application Publication No. 2014/0166755;   U.S. Patent Application Publication No. 2014/0166757;   U.S. Patent Application Publication No. 2014/0166759;   U.S. Patent Application Publication No. 2014/0166760;   U.S. Patent Application Publication No. 2014/0166761;   U.S. Patent Application Publication No. 2014/0168787;   U.S. Patent Application Publication No. 2014/0175165;   U.S. Patent Application Publication No. 2014/0175169;   U.S. Patent Application Publication No. 2014/0175172;   U.S. Patent Application Publication No. 2014/0175174;   U.S. Patent Application Publication No. 2014/0191644;   U.S. Patent Application Publication No. 2014/0191913;   U.S. Patent Application Publication No. 2014/0197238;   U.S. Patent Application Publication No. 2014/0197239;   U.S. Patent Application Publication No. 2014/0197304;   U.S. Patent Application Publication No. 2014/0203087;   U.S. Patent Application Publication No. 2014/0204268;   U.S. Patent Application Publication No. 2014/0214631;   U.S. Patent Application Publication No. 2014/0217166;   U.S. Patent Application Publication No. 2014/0217180;   U.S. patent application Ser. No. 13/367,978 for a Laser Scanning Module Employing an Elastomeric U-Hinge Based Laser Scanning Assembly, filed Feb. 7, 2012 (Feng et al.);   U.S. patent application Ser. No. 29/436,337 for an Electronic Device, filed Nov. 5, 2012 (Fitch et al.);   U.S. patent application Ser. No. 13/771,508 for an Optical Redirection Adapter, filed Feb. 20, 2013 (Anderson);   U.S. patent application Ser. No. 13/852,097 for a System and Method for Capturing and Preserving Vehicle Event Data, filed Mar. 28, 2013 (Barker et al.);   U.S. patent application Ser. No. 13/902,110 for a System and Method for Display of Information Using a Vehicle-Mount Computer, filed May 24, 2013 (Hollifield);   U.S. patent application Ser. No. 13/902,144, for a System and Method for Display of Information Using a Vehicle-Mount Computer, filed May 24, 2013 (Chamberlin);   U.S. patent application Ser. No. 13/902,242 for a System For Providing A Continuous Communication Link With A Symbol Reading Device, filed May 24, 2013 (Smith et al.);   U.S. patent application Ser. No. 13/912,262 for a Method of Error Correction for  3 D Imaging Device, filed Jun. 7, 2013 (Jovanovski et al.);   U.S. patent application Ser. No. 13/912,702 for a System and Method for Reading Code Symbols at Long Range Using Source Power Control, filed Jun. 7, 2013 (Xian et al.);   U.S. patent application Ser. No. 29/458,405 for an Electronic Device, filed Jun. 19, 2013 (Fitch et al.);   U.S. patent application Ser. No. 13/922,339 for a System and Method for Reading Code Symbols Using a Variable Field of View, filed Jun. 20, 2013 (Xian et al.);   U.S. patent application Ser. No. 13/927,398 for a Code Symbol Reading System Having Adaptive Autofocus, filed Jun. 26, 2013 (Todeschini);   U.S. patent application Ser. No. 13/930,913 for a Mobile Device Having an Improved User Interface for Reading Code Symbols, filed Jun. 28, 2013 (Gelay et al.);   U.S. patent application Ser. No. 29/459,620 for an Electronic Device Enclosure, filed Jul. 2, 2013 (London et al.);   U.S. patent application Ser. No. 29/459,681 for an Electronic Device Enclosure, filed Jul. 2, 2013 (Chaney et al.);   U.S. patent application Ser. No. 13/933,415 for an Electronic Device Case, filed Jul. 2, 2013 (London et al.);   U.S. patent application Ser. No. 29/459,785 for a Scanner and Charging Base, filed Jul. 3, 2013 (Fitch et al.);   U.S. patent application Ser. No. 29/459,823 for a Scanner, filed Jul. 3, 2013 (Zhou et al.);   U.S. patent application Ser. No. 13/947,296 for a System and Method for Selectively Reading Code Symbols, filed Jul. 22, 2013 (Rueblinger et al.);   U.S. patent application Ser. No. 13/950,544 for a Code Symbol Reading System Having Adjustable Object Detection, filed Jul. 25, 2013 (Jiang);   U.S. patent application Ser. No. 13/961,408 for a Method for Manufacturing Laser Scanners, filed Aug. 7, 2013 (Saber et al.);   U.S. patent application Ser. No. 14/018,729 for a Method for Operating a Laser Scanner, filed Sep. 5, 2013 (Feng et al.);   U.S. patent application Ser. No. 14/019,616 for a Device Having Light Source to Reduce Surface Pathogens, filed Sep. 6, 2013 (Todeschini);   U.S. patent application Ser. No. 14/023,762 for a Handheld Indicia Reader Having Locking Endcap, filed Sep. 11, 2013 (Gannon);   U.S. patent application Ser. No. 14/035,474 for Augmented-Reality Signature Capture, filed Sep. 24, 2013 (Todeschini);   U.S. patent application Ser. No. 29/468,118 for an Electronic Device Case, filed Sep. 26, 2013 (Oberpriller et al.);   U.S. patent application Ser. No. 14/055,234 for Dimensioning System, filed Oct. 16, 2013 (Fletcher);   U.S. patent application Ser. No. 14/053,314 for Indicia Reader, filed Oct. 14, 2013 (Huck);   U.S. patent application Ser. No. 14/065,768 for Hybrid System and Method for Reading Indicia, filed Oct. 29, 2013 (Meier et al.);   U.S. patent application Ser. No. 14/074,746 for Self-Checkout Shopping System, filed Nov. 8, 2013 (Hejl et al.);   U.S. patent application Ser. No. 14/074,787 for Method and System for Configuring Mobile Devices via NFC Technology, filed Nov. 8, 2013 (Smith et al.);   U.S. patent application Ser. No. 14/087,190 for Optimal Range Indicators for Bar Code Validation, filed Nov. 22, 2013 (Hejl);   U.S. patent application Ser. No. 14/094,087 for Method and System for Communicating Information in a Digital Signal, filed Dec. 2, 2013 (Peake et al.);   U.S. patent application Ser. No. 14/101,965 for High Dynamic-Range Indicia Reading System, filed Dec. 10, 2013 (Xian);   U.S. patent application Ser. No. 14/150,393 for Indicia-reader Having Unitary Construction Scanner, filed Jan. 8, 2014 (Colavito et al.);   U.S. patent application Ser. No. 14/154,207 for Laser Barcode Scanner, filed Jan. 14, 2014 (Hou et al.);   U.S. patent application Ser. No. 14/165,980 for System and Method for Measuring Irregular Objects with a Single Camera filed Jan. 28, 2014 (Li et al.);   U.S. patent application Ser. No. 14/166,103 for Indicia Reading Terminal Including Optical Filter filed Jan. 28, 2014 (Lu et al.);   
 
         [0270]    U.S. patent application Ser. No. 14/200,405 for Indicia Reader for Size-Limited Applications filed Mar. 7, 2014 (Feng et al.);
   U.S. patent application Ser. No. 14/231,898 for Hand-Mounted Indicia-Reading Device with Finger Motion Triggering filed Apr. 1, 2014 (Van Horn et al.);   U.S. patent application Ser. No. 14/250,923 for Reading Apparatus Having Partial Frame Operating Mode filed Apr. 11, 2014, (Deng et al.);   U.S. patent application Ser. No. 14/257,174 for Imaging Terminal Having Data Compression filed Apr. 21, 2014, (Barber et al.);   U.S. patent application Ser. No. 14/257,364 for Docking System and Method Using Near Field Communication filed Apr. 21, 2014 (Showering);   U.S. patent application Ser. No. 14/264,173 for Autofocus Lens System for Indicia Readers filed Apr. 29, 2014 (Ackley et al.);   U.S. patent application Ser. No. 14/274,858 for Mobile Printer with Optional Battery Accessory filed May 12, 2014 (Marty et al.);   U.S. patent application Ser. No. 14/277,337 for MULTIPURPOSE OPTICAL READER, filed May 14, 2014 (Jovanovski et al.);   U.S. patent application Ser. No. 14/283,282 for TERMINAL HAVING ILLUMINATION AND FOCUS CONTROL filed May 21, 2014 (Liu et al.);   U.S. patent application Ser. No. 14/300,276 for METHOD AND SYSTEM FOR CONSIDERING INFORMATION ABOUT AN EXPECTED RESPONSE WHEN PERFORMING SPEECH RECOGNITION, filed Jun. 10, 2014 (Braho et al.);   U.S. patent application Ser. No. 14/305,153 for INDICIA READING SYSTEM EMPLOYING DIGITAL GAIN CONTROL filed Jun. 16, 2014 (Xian et al.);   U.S. patent application Ser. No. 14/310,226 for AUTOFOCUSING OPTICAL IMAGING DEVICE filed Jun. 20, 2014 (Koziol et al.);   U.S. patent application Ser. No. 14/327,722 for CUSTOMER FACING IMAGING SYSTEMS AND METHODS FOR OBTAINING IMAGES filed Jul. 10, 2014 (Oberpriller et al,);   U.S. patent application Ser. No. 14/327,827 for a MOBILE-PHONE ADAPTER FOR ELECTRONIC TRANSACTIONS, filed Jul. 10, 2014 (Hejl);   U.S. patent application Ser. No. 14/329,303 for CELL PHONE READING MODE USING IMAGE TIMER filed Jul. 11, 2014 (Coyle);   U.S. patent application Ser. No. 14/333,588 for SYMBOL READING SYSTEM WITH INTEGRATED SCALE BASE filed Jul. 17, 2014 (Barten);   U.S. patent application Ser. No. 14/334,934 for a SYSTEM AND METHOD FOR INDICIA VERIFICATION, filed Jul. 18, 2014 (Hejl);   U.S. patent application Ser. No. 14/336,188 for METHOD OF AND SYSTEM FOR DETECTING OBJECT WEIGHING INTERFERENCES, Filed Jul. 21, 2014 (Amundsen et al.);   U.S. patent application Ser. No. 14/339,708 for LASER SCANNING CODE SYMBOL READING SYSTEM, filed Jul. 24, 2014 (Xian et al.);   U.S. patent application Ser. No. 14/340,627 for an AXIALLY REINFORCED FLEXIBLE SCAN ELEMENT, filed Jul. 25, 2014 (Rueblinger et al.);   U.S. patent application Ser. No. 14/340,716 for an OPTICAL IMAGER AND METHOD FOR CORRELATING A MEDICATION PACKAGE WITH A PATIENT, filed Jul. 25, 2014 (Ellis);   U.S. patent application Ser. No. 14/342,544 for Imaging Based Barcode Scanner Engine with Multiple Elements Supported on a Common Printed Circuit Board filed Mar. 4, 2014 (Liu et al.);   U.S. patent application Ser. No. 14/345,735 for Optical Indicia Reading Terminal with Combined Illumination filed Mar. 19, 2014 (Ouyang);   U.S. patent application Ser. No. 14/336,188 for METHOD OF AND SYSTEM FOR DETECTING OBJECT WEIGHING INTERFERENCES, Filed Jul. 21, 2014 (Amundsen et al.);   U.S. patent application Ser. No. 14/355,613 for Optical Indicia Reading Terminal with Color Image Sensor filed May 1, 2014 (Lu et al.);   U.S. patent application Ser. No. 14/370,237 for WEB-BASED SCAN-TASK ENABLED SYSTEM AND METHOD OF AND APPARATUS FOR DEVELOPING AND DEPLOYING THE SAME ON A CLIENT-SERVER NETWORK filed Jul. 2, 2014 (Chen et al.);   U.S. patent application Ser. No. 14/370,267 for INDUSTRIAL DESIGN FOR CONSUMER DEVICE BASED SCANNING AND MOBILITY, filed Jul. 2, 2014 (Ma et al.);   U.S. patent application Ser. No. 14/376,472, for an ENCODED INFORMATION READING TERMINAL INCLUDING HTTP SERVER, filed Aug. 4, 2014 (Lu);   U.S. patent application Ser. No. 14/379,057 for METHOD OF USING CAMERA SENSOR INTERFACE TO TRANSFER MULTIPLE CHANNELS OF SCAN DATA USING AN IMAGE FORMAT filed Aug. 15, 2014 (Wang et al.);   U.S. patent application Ser. No. 14/452,697 for INTERACTIVE INDICIA READER, filed Aug. 6, 2014 (Todeschini);   U.S. patent application Ser. No. 14/453,019 for DIMENSIONING SYSTEM WITH GUIDED ALIGNMENT, filed Aug. 6, 2014 (Li et al.);   U.S. patent application Ser. No. 14/460,387 for APPARATUS FOR DISPLAYING BAR CODES FROM LIGHT EMITTING DISPLAY SURFACES filed Aug. 15, 2014 (Van Horn et al.);   U.S. patent application Ser. No. 14/460,829 for ENCODED INFORMATION READING TERMINAL WITH WIRELESS PATH SELECTON CAPABILITY, filed Aug. 15, 2014 (Wang et al.);   U.S. patent application Ser. No. 14/462,801 for MOBILE COMPUTING DEVICE WITH DATA COGNITION SOFTWARE, filed on Aug. 19, 2014 (Todeschini et al.);   U.S. patent application Ser. No. 14/446,387 for INDICIA READING TERMINAL PROCESSING PLURALITY OF FRAMES OF IMAGE DATA RESPONSIVELY TO TRIGGER SIGNAL ACTIVATION filed Jul. 30, 2014 (Wang et al.);   U.S. patent application Ser. No. 14/446,391 for MULTIFUNCTION POINT OF SALE APPARATUS WITH OPTICAL SIGNATURE CAPTURE filed Jul. 30, 2014 (Good et al.);   U.S. patent application Ser. No. 29/486,759 for an Imaging Terminal, filed Apr. 2, 2014 (Oberpriller et al.);   U.S. patent application Ser. No. 29/492,903 for an INDICIA SCANNER, filed Jun. 4, 2014 (Zhou et al.); and   U.S. patent application Ser. No. 29/494,725 for an IN-COUNTER BARCODE SCANNER, filed Jun. 24, 2014 (Oberpriller et al.).   
 
         [0309]    In the specification and/or figures, typical embodiments of the invention have been disclosed. The present invention is not limited to such exemplary embodiments. The use of the term “and/or” includes any and all combinations of one or more of the associated listed items. The figures are schematic representations and so are not necessarily drawn to scale. Unless otherwise noted, specific terms have been used in a generic and descriptive sense and not for purposes of limitation.