Abstract:
A method and system for scanning bar code data that can be published in near real time on Internet or intranet sites. The format is preferably XML-based, so the data is ready for e-commerce applications without further manipulation or conversion. The data can also be translated to more traditional bar code formats for backward compatibility with established barcode scanning practices.

Description:
[0001]    This is a continuation of U.S. patent application Ser. No. 09/677,157, filed Oct. 2, 2000, which is hereby incorporated by reference in its entirety. 
     
    
     
       BACKGROUND OF THE INVENTION  
         [0002]    The present invention relates to the field of data collection for use in logistics, manufacturing, health care, warehouses, education, or any other business that uses bar codes.  
           [0003]    Existing bar code scanning involves discrete stages of data collection and data manipulation before publication. Even after publication, however, the data is generally not in a format that is easily published on the Internet or used by e-commerce applications.  
           [0004]    Therefore, it would be desirable to convert bar code data into data that is easily published on the Internet or used by e-commerce applications.  
         SUMMARY OF THE INVENTION  
         [0005]    It is an object of the invention to convert bar code data into data that is easily published on the Internet or used by e-commerce applications.  
           [0006]    Methods and systems for converting a bar code into a markup language document, the method including scanning a bar code to generate bar code data and preparing the markup language document using the bar code data are provided. 
       
    
    
     BRIEF DESCRIPTION OF DRAWINGS  
       [0007]    The above and other objects and advantages of the invention will be apparent upon consideration of the following detailed description, taken in conjunction with the accompanying drawings, in which like reference characters refer to like parts throughout:  
         [0008]    [0008]FIG. 1 is a flow chart of a preferred method according to the present invention.  
         [0009]    [0009]FIG. 2 is a flow chart of the operation of a conventional bar code scanner.  
         [0010]    [0010]FIG. 3 is a block diagram showing an embodiment of a system according to the invention.  
         [0011]    [0011]FIG. 4 is a block diagram of a flow chart according to the invention.  
         [0012]    [0012]FIG. 5 is a block diagram showing document storage according to the invention. 
     
    
     DETAILED DESCRIPTION OF THE INVENTION  
       [0013]    A general description of bar code scanning and its relation to systems and methods according to the invention follows. One dimensional bar code scanning involves scanning the pattern of wide and narrow bars, looking up the “code” in a database, and then using the results in an application. Two-dimensional bar code scanning involves scanning the square or rectangular patters that encode data in two dimensions then using the results in an application.  
         [0014]    Each bar code feature requires a data type to define its extent and also a set of feature descriptors called attributes. Attributes might be of nearly any data type such as text, numeric, or binary. The attributes provide the basis for interpreting the features. The applications for a barcode database are as diverse as health care management to inventory control.  
         [0015]    One-dimensional bar codes provide data that is limited to a small number of alphanumeric characters. There are several industry standards and conventions for converting the bar code into data to choose from, depending on the application. Encoding information about the bar coded item is typically the responsibility of the database designer.  
         [0016]    For two-dimensional barcodes, more data is available for scanning. However, publishing the data on the Internet in a globally standard format presents a difficult problem. The receiving application has to be able to interpret the 2D-scanned data and then present it to the user.  
         [0017]    The present invention preferably allows the data collector to collect the data in XML-format, as will be explained below. (For the purposes of this application, Extensible Markup Language (XML) is referred to because it is the preferred language. However, it should be understood that any other suitable markup language may also be used, and this application is not limited specifically to the use of XML language. The W3C Recommendation of 10.Feb.1998 Extensible Markup Language (XML) 1.0 is hereby incorporated by reference herein in its entirety.) This data collection scheme allows the data to be published on the Internet, or other suitable network, in an Internet-business related format virtually seconds after the data is collected.  
         [0018]    In an embodiment of data collection according to the invention, upon the completion of the entry of attribute data, the features may be uploaded with a wireless link, or other suitable communications link, to an Internet server for immediate publication on a Web site. Data can be streamed to the Internet server if desired—i.e., data can be viewed on the Internet rather than waiting for the end of data collection.  
         [0019]    The style of presentation of the data is preferably up to the Web application manager since the XML format separates the display of an XML document from its content. The features can be published as spreadsheet data, interactive business forms or perhaps as charts that could trigger automatic re-order of inventory. Because of the XML format, the end user of the data—e.g., the viewer of the website—is also not constrained by the display choices of the web application manager. An end user with a large monitor may choose a graphic display while a viewer with a small screen on a cell phone may be simultaneously viewing the same site as text.  
         [0020]    Three applications of how the present invention may be used follow:  
       EXAMPLE 1  
     Hospital Management  
       [0021]    A hospital manages patient information, patient care, hospital equipment and supplies, and patient insurance communication.  
         [0022]    In a method of managing information according to the invention, when patients are admitted to the hospital, they are assigned an XML-tagged bar code containing information about their medical history, hospital care needed, and insurance. This information may then be relayed to the insurance company and regular updates are relayed, as needed.  
         [0023]    In one embodiment of the invention, medical claims personnel at the insurance company can use the Internet to view and process the patient information. During the hospital stay, information about the medications and hospital procedures are added to the patient&#39;s records by scanning the XML-tagged bar codes and sending the information to the hospital&#39;s computer. Periodically, the hospital computer may contact the drug suppliers for additional inventory or equipment servicing (like calibration).  
       EXAMPLE 2  
     Inventory Management  
       [0024]    A computer and peripheral manufacturing company endeavors to deliver assembled products more quickly and efficiently. One obstacle to the quick and efficient delivery of assembled products is the fact that many of their products can be customized. These customized products often require different parts. It would be beneficial to accurately predict the delivery schedule of the different parts and to be able to quickly detect any supplier problems.  
         [0025]    The different suppliers may scan the XML-tagged bar codes on their computer parts when they leave the assembly line and the information about inventories, availability, technical specifications, etc., may be immediately available on the company website. The computer manufacturer may have its computers regularly query the supplier databases preferably using XML Linking Language (XLink) (as noted above, any suitable linking language may be used for this purpose). The queries could be for standard configurations, large orders of unusual configurations, and any other ordering scenario. The computer manufacturer&#39;s computers could then use the results to order the necessary supplies, direct the shipment to its factory, then pass on the information to the accounting and order processing departments, again, using XLink.  
       EXAMPLE 3  
     Information Distribution  
       [0026]    Typically, a national rental car company monitors their vehicle inventory and all the information related to each individual vehicle. Generally, different departments within the rental car company obtain selected portions of this information and present it in a way that is effective for their department.  
         [0027]    In one embodiment of a method according to the invention, a 2-dimensional XML-tagged bar code may preferably be created for each car, containing technical specifications, a digital image, rental history, service history or other relevant information. Because information and presentation rules are separate for XML, the users can manipulate information locally by importing it into their applications from the web browser. Other software applications can then directly access the information.  
         [0028]    In addition to the methods described in the preceding examples, one further aspect of the present invention is directed to a method of collecting the feature data in XML format. This aspect includes assembling information about the feature name and type, and the related attribute information. A user interface for accomplishing this task is also preferably provided. Other aspects of the present invention are directed to a method for uploading the feature data to a server and for publication of the data.  
         [0029]    The present invention also is directed to the fact that bar code features can be collected in XML format. In the description below, ‘features’ are referred to as ‘parent elements’ for consistency with XML specification usage.  
         [0030]    [0030]FIG. 1 is a block diagram of a preferred embodiment of a method according to the present invention. In this embodiment, there is a Data Collection Module  15  and a subsequent Data Publishing Module  25 . A computer  30 , or other suitable device, is used to create, or import, a data collection definition (DTD) or Schema  20 . A DTD is a program for guiding collection of element and attribute data that is guided by the DTD and substantially invisibly merging bar code data as attributes or child elements of the parent element being captured. The result of the merge is an XML document that has already been validated against the DTD.  
         [0031]    Then, parent elements (with child elements or attributes) are recorded in XML format. The XML documents are transmitted via a wired or wireless link  40  to an XML element storage system. This system may preferably be on a web server  50 . The XML documents are available for immediate publication on the web  60  or for later re-use  70 .  
         [0032]    The data collection task may be separated in both time and space from the data-publishing task. In this embodiment the two are linked via a wireless connection that reduces the time and distance between the tasks. It should be understood that other methods of communication between the modules might be used as well. These other methods may be via a hard-wired modem connection or via a serial cable and the like.  
         [0033]    A preferred embodiment of this invention is to acquire bar code data from a bar code scanner. FIG. 2 is a flow chart of the operation of a conventional bar code scanner. Bar codes  12  can be of various types, depending on the application of the data they encode. Some industry recognized bar code types are:  
         [0034]    Numeric-Only  
         [0035]    EAN-13  
         [0036]    EAN-8  
         [0037]    UPC-A  
         [0038]    UPC-E  
         [0039]    Code 11  
         [0040]    Interleaved 2 of 5  
         [0041]    Industrial 2 of 5  
         [0042]    Standard 2 of 5  
         [0043]    Codabar  
         [0044]    Plessey  
         [0045]    MSI  
         [0046]    PostNet  
         [0047]    Alphanumeric  
         [0048]    Code 39  
         [0049]    Code 93  
         [0050]    Code 128  
         [0051]    LOGMARS  
         [0052]    2-Dimensional  
         [0053]    PDF417  
         [0054]    DataMatrix  
         [0055]    Maxicode  
         [0056]    QR Code  
         [0057]    Data Code  
         [0058]    Code 49  
         [0059]    16K  
         [0060]    The bar code scanner  13  can be of any model or manufacture that outputs bar code data  14  according to industry standards. The scanned data is transmitted to the computer via a wired or wireless link  16 .  
         [0061]    For both one- and two-dimensional bar codes, the supported data types are: bytes, ASCII characters, and numeric digits. PDF417 data types also include graphics and sound.  
         [0062]    [0062]FIG. 3 provides details of the programs available on a system  32  according to the invention.  
         [0063]    A user interface  31  manages the user interaction for a number of tasks. A program is provided for the creation of the DTD or Schema  21 , the collection of data  22 , and the export of the resultant documents  24 .  
         [0064]    The DTD lays out the rules for how to create or read an XML document. A preferred version of the DTD is the XML Schema and is also suitable for this embodiment.  
         [0065]    The DTD describes data elements. These elements can contain a wide variety of attributes and/or child elements in accordance with the XML specification. System  12  includes a software program that provides the user with a simple way to create DTD&#39;s that conform to the complicated XML specification. The DTD can be considered as a statement of the data capture objectives. An example of a DTD for the collection of child element data for a parent element is provided below.  
         [0066]    &lt;!ELEMENT Features (Feature Name, VIN, Color, Make, Model, Year, Registered-Owner)&gt; 
         [0067]    &lt;!ELEMENT Feature-Name (#PCDATA)&gt; 
         [0068]    &lt;!ELEMENT VIN (#PCDATA)&gt; 
         [0069]    &lt;!ELEMENT Color (#PCDATA)&gt; 
         [0070]    &lt;!ELEMENT Make (#PCDATA)&gt; 
         [0071]    &lt;!ELEMENT Model (#PCDATA)&gt; 
         [0072]    &lt;!ELEMENT Registered Owner (#PCDATA)&gt; 
         [0073]    The present invention allows the user to specify a number of options in the creation of a DTD. For example, a more sophisticated version of the same DTD would appear with descriptions of the type of entry that is available for each element.  
         [0074]    &lt;!ELEMENT Features (FeatureName, VIN, VINLabel, Color, Make, MakeLabel, Model, ModelLabel, Year, Registeredowner, RegisteredOwnerLabel)&gt; 
         [0075]    &lt;!ELEMENT FeatureName (#PCDATA)&gt; 
         [0076]    &lt;IATTLIST FeatureName e-dtype NMTOKEN #FIXED ‘string’&gt; 
         [0077]    &lt;!ELEMENT VIN (#PCDATA)&gt; 
         [0078]    &lt;!ATTLIST VIN e-dtype NMTOKEN #FIXED ‘string’&gt; 
         [0079]    &lt;!ELEMENT VINLabel (#PCDATA)&gt; 
         [0080]    &lt;!ATTLIST VINLabel e-dtype NMTOKEN #FIXED ‘string’&gt; 
         [0081]    &lt;!ELEMENT Color (#PCDATA)&gt; 
         [0082]    &lt;IATTLIST Color e-dtype NMTOKEN #FIXED ‘string’&gt; 
         [0083]    &lt;!ELEMENT Make (#PCDATA)&gt; 
         [0084]    &lt;!ATTLIST Make e-dtype NMTOKEN #FIXED ‘string’&gt; 
         [0085]    &lt;!ELEMENT MakeLabel (#PCDATA)&gt; 
         [0086]    &lt;!ATTLIST MakeLabel e-dtype NMTOKEN #FIXED ‘string’&gt; 
         [0087]    &lt;!ELEMENT Model (#PCDATA)&gt; 
         [0088]    &lt;IATTLIST Model e-dtype NMTOKEN #FIXED ‘string’&gt; 
         [0089]    &lt;!ELEMENT ModelLabel (#PCDATA)&gt; 
         [0090]    &lt;IATTLIST ModelLabel e-dtype NMTOKEN #FIXED ‘string’&gt; 
         [0091]    &lt;!ELEMENT Year (#PCDATA)&gt; 
         [0092]    &lt;!ATTLIST Year e-dtype NMTOKEN #FIXED ‘string’&gt; 
         [0093]    &lt;!ELEMENT RegisteredOwner (#PCDATA)&gt; 
         [0094]    &lt;!ATTLIST RegisteredOwner e-dtype NMTOKEN #FIXED ‘string’&gt; 
         [0095]    &lt;!ELEMENT RegisteredOwnerLabel (#PCDATA)&gt; 
         [0096]    &lt;IATTLIST RegisteredownerLabel e-dtype NMTOKEN #FIXED ‘string’&gt; 
         [0097]    When the bar code data is mixed with the attribute information or child elements observed by the data collector, the result is an XML document. Since the program user interface is guided by the DTD, the user is not allowed to collect information that will produce an XML document that is not valid when compared to the DTD. An example of an XML document that has merged both bar code data and attribute data expressed as child elements is shown below.  
         [0098]    &lt;?xml version=“1.0”?&gt; 
         [0099]    &lt;!DOCTYPE Features SYSTEM “C:\features.dtd”&gt; 
         [0100]    &lt;Features&gt;&lt;!--(Feature Name, VIN, VIN Label, Color, Make, Make Label, Model, Model Label, Year, Registered Owner, Registered Owner Label)--&gt; 
         [0101]    &lt;Feature Name&gt;Automobile&lt;/Feature Name&gt; 
         [0102]    &lt;VIN&gt;1122334455&lt;/VIN&gt; 
         [0103]    &lt;VIN Label&gt;VIN&lt;/VIN&gt; 
         [0104]    &lt;Color&gt;red&lt;/Color&gt; 
         [0105]    &lt;Make&gt;Honda&lt;/Make&gt; 
         [0106]    &lt;Make Label&gt;Make&lt;/Make Label&gt; 
         [0107]    &lt;Model&gt;Accord&lt;/Model&gt; 
         [0108]    &lt;Model Label&gt;Model&lt;/Model Label&gt; 
         [0109]    &lt;Year&gt;2000&lt;/Year&gt; 
         [0110]    &lt;Registered Owner&gt;Jane Doe&lt;/Registered Owner&gt; 
         [0111]    &lt;Registered Owner Label&gt;Registered  
         [0112]    Owner&lt;/Registered Owner Label&gt; 
         [0113]    &lt;/Features&gt; 
         [0114]    An alternative embodiment of this invention would be to collect the bar code data in a separate file and to reference that file from within the XML document.  
         [0115]    The result of the Data Collection Module shown in FIG. 1, which preferably incorporates DTD  21 , Data Collection Program  22  and bar code data  14  shown in FIG. 2, is a finished XML document. The XML document is already validated against the DTD or Schema via a validation program on the computer  23 . The validation serves as an error check that data that the document that is to be delivered to the web server is in the proper format and will not cause problems later.  
         [0116]    A final program is a utility  71  for converting XML documents to other database formats such as Microsoft Access  71 .  
         [0117]    At this point, the XML document is ready for web publication or, alternatively, to be archived. A program is provided on the computer  24  to manage the export of XML and DTD (or Schema) documents. The collected data is exported via a port in the computer  26 .  
         [0118]    [0118]FIG. 4 is a flow chart which describes the link (corresponding to element  40  in FIG. 1) between the field data collection module and the data publishing module. The export port in the scanner exports the XML document  42 . A wireless link  40  provides a convenient method of sending the document to the XML or DTD Document Storage archive  50 . For large data collection projects, the XML document can be streamed to the web server. The present invention can accommodate any method of linking the document to the web server archive.  
         [0119]    [0119]FIG. 5 describes a method of document storage and publication according to the invention. Thus, FIG. 5 shows the data publication module  25  of FIG. 1, greater detail. The XML or DTD document is stored on the web server as a recallable set of elements  51 . The XML document can be dynamically presented to the web or archived in a suitable document database. It should be noted that it is the document elements and the corresponding DTD or Schema that is being archived, not traditional database tables and records. The document can be efficiently stored in parts (elements) because the DTD or Schema provides the guide for reassembly.  
         [0120]    Commercial components for the archival and retrieval of XML documents are readily available and function similar to the Inso Dynabase Web Manager. The Inso Corporation is headquartered in Boston, Mass. The Dynabase Web Manager is an XML-based content management, automated production and personalized information delivery solution for constructing advanced business-to-business and business-to-consumer applications.  
         [0121]    This embodiment allows the end viewer of the data to provide a custom style sheet that allows unique display or download of XML elements depending on the viewer&#39;s personal preference  61 . The format and syntax for Cascading Style Sheets (CSS) is defined in User Interface for CSS3 W3C Working Draft 16 Feb 2000 of the World Wide Web Consortium (see http://www.w3.org/TR/2000/WD-css3-userint-20000216.html) which is hereby incorporated by reference herein in its entirety. For Extensible Stylesheet Language (XSL) see http://www.w3.org/TRJ2000/WD-xsl20000327 which is hereby incorporated by reference herein in its entirety.  
         [0122]    The present invention is compatible with traditional database programs because the DTD and XML documents contain all of the information needed to recreate the data in whichever format is desired. The invention provides a program with a user interface that guides the user through the process of converting the DTD and XML documents to other standard database formats such as Microsoft Access  70 .  
         [0123]    Thus, systems and methods relating to scanning a bar code to provide bar code data, and converting Persons skilled in the art will appreciate that the present invention can be practiced by other than the described embodiments, which are presented for purposes of illustration rather than of limitation, and the present invention is limited only by the claims which follow.