Language selection

Search

Patent 2386843 Summary

Third-party information liability

Some of the information on this Web page has been provided by external sources. The Government of Canada is not responsible for the accuracy, reliability or currency of the information supplied by external sources. Users wishing to rely upon this information should consult directly with the source of the information. Content provided by external sources is not subject to official languages, privacy and accessibility requirements.

Claims and Abstract availability

Any discrepancies in the text and image of the Claims and Abstract are due to differing posting times. Text of the Claims and Abstract are posted:

  • At the time the application is open to public inspection;
  • At the time of issue of the patent (grant).
(12) Patent Application: (11) CA 2386843
(54) English Title: PRINTER PROGRAMMING TOOL AND METHOD
(54) French Title: OUTIL DE PROGRAMMATION D'IMPRIMANTE ET PROCEDE ASSOCIE
Status: Dead
Bibliographic Data
(51) International Patent Classification (IPC):
  • B41J 5/30 (2006.01)
  • B41J 3/407 (2006.01)
  • B41J 3/42 (2006.01)
  • B41J 11/44 (2006.01)
(72) Inventors :
  • KAUFMAN, JEFFREY R. (United States of America)
  • POOLE, DAVID L. (United States of America)
(73) Owners :
  • ZIH CORPORATION (United States of America)
(71) Applicants :
  • ZIH CORPORATION (United States of America)
(74) Agent: SMART & BIGGAR
(74) Associate agent:
(45) Issued:
(86) PCT Filing Date: 2000-10-27
(87) Open to Public Inspection: 2001-05-03
Availability of licence: N/A
(25) Language of filing: English

Patent Cooperation Treaty (PCT): Yes
(86) PCT Filing Number: PCT/US2000/041690
(87) International Publication Number: WO2001/030581
(85) National Entry: 2002-04-08

(30) Application Priority Data:
Application No. Country/Territory Date
60/162,789 United States of America 1999-10-29

Abstracts

English Abstract




A printer programming tool (40) that is configured for use by a programmer to
generate a program which a printer (20) can use such that the printer can
print labels, tags or the like using a data stream (84) which would otherwise
be incompatible with the printer. The printer programming tool is configured
to provide a visual display of at least a portion (108), of a data stream, and
allows a user to specify delimiters which the user identifies in the data
stream and/or automatically identifies the delimiters in the data stream. The
printer programming tool generates a program (140) based on the delimiters
which have been identified, where the program is configured to be used by a
printer. Preferably, the printer programming tool provides a visual comparison
of at least a portion of the data stream and at least a portion of a label,
tag or the like (110) containing variables. Preferably, the printer
programming tool displays a data correlator (112) which lists the variables of
the label, tag or the like and provides fields in which identified delimiters
are displayed. A method for programming an interpreter in a printer is also
provided.


French Abstract

L'invention concerne un outil de programmation (40) d'imprimante conçu pour être utilisé par un programmateur afin de produire un programme pouvant être utilisé par une imprimante (20) pour imprimer des étiquettes ou des objets analogues, à l'aide d'un flot de données (84) qui serait, sans cela, incompatible avec l'imprimante. Cet outil de programmation est conçu pour fournir un affichage visuel d'au moins une portion (108) d'un flot de données, et il permet à un utilisateur de spécifier des délimiteurs qu'il a identifié dans le flot de données et/ou d'identifier automatiquement les délimiteurs dans le flot de données. Cet outil produit un programme (140) en fonction des délimiteurs identifiés; lequel programme est conçu pour être utilisé par une imprimante. De préférence, l'outil de programmation permet une comparaison visuelle d'au moins une portion du flot de données et au moins une portion d'une étiquette ou d'un objet analogue (110) contenant des variables. De préférence, l'outil affiche un corrélateur (112) de données qui établit une liste des variables de l'étiquette ou de l'objet analogue, et il fourni des champs dans lesquels les délimiteurs identifiés sont affichés. L'invention concerne également un procédé permettant de programmer un interpréteur sur une imprimante.

Claims

Note: Claims are shown in the official language in which they were submitted.



What is claimed is:
1. A printer programming tool (40) that is configured for use by a
programmer to generate a program which a printer (20) can use such that the
printer can print labels, tags or the like using a data stream (84, 108) which
would
otherwise be incompatible with the printer, wherein the printer programming
tool
is characterized by being configured to provide a visual display (106) of at
least a
portion (108) of a data stream (84), and is configured to generate a program
(140)
based on identified delimiters, and wherein the program is configured to be
used
by the printer to print labels, tags or the like using a data stream which
would
otherwise be incompatible with the printer.
2. A printer programming tool (40) as recited in claim 1,
characterized in that the printer programming tool is configured to provide a
visual comparison of at least a portion of the data stream (108) and at least
a
portion of a label, tag or the like (110).
3. A printer programming tool (40) as recited in claim 1,
characterized in that the printer programming tool is configured to display a
data
correlator (112) which lists variables of the label, tag or the like, and
provides
fields in which a user can specify delimiters which have been identified in
the
displayed data stream (108).
18


4. A printer programming tool (40) as recited in claim 1,
characterized in that the printer programming tool is configured to
automatically
identify delimiters in the data stream (84).
5. A printer programming tool (40) as recited in claim 1,
characterized in that the printer programming tool is configured to interpret
and
extract variable data from an XML data stream (84).
6. A printer programming tool (40) that is configured for use by a
programmer to generate a program which a printer can use such that the printer
can print labels, tags or the like using a data stream (84) which would
otherwise
be incompatible with the printer, wherein the printer programming tool is
characterized by being configured to provide a visual display (106) of at
least a
portion (108) of a data stream (84), and is configured to generate a program
based
on identified delimiters, and wherein the program is configured to be used by
the
printer to print labels, tags or the like using a data stream which would
otherwise
be incompatible with the printer, wherein the printer programming tool is
configured to provide a visual comparison of at least a portion of the data
stream
and at least a portion of a label, tag or the like (110), wherein the printer
programming tool is configured to display a data correlator (112) which lists
variables of the label, tag or the like, and provides fields in which a user
can
specify delimiters which have been identified in the displayed data stream.
19


7. A printer programming tool (40) as recited in claim 6,
characterized in that the printer programming tool is configured to
automatically
identify delimiters in the data stream (84).
8. A printer programming tool (40) as recited in claim 6,
characterized in that the printer programming tool is configured to interpret
and
extract variable data from an XML data stream (84).
9. A method of programming a printer (20) using a printer
programming tool (40), said method characterized by importing a data stream
(84)
into the printer programming tool; having the printer programming tool display
at
least a portion (108) of the data stream; and having the printer programming
tool
generate a program (140) based on delimiters which have been identified, where
the program is configured for use by a printer such that the printer can print
labels,
tags or the like using a data stream which would otherwise be incompatible
with
the printer.
10. A method as recited in claim 9, characterized by displaying at least
a portion (108) of the data stream (106) and at least a portion of a label,
tag or the
like (110).
11. A method as recited in claim 10, characterized by using the printer
programming tool (40) to display at least a portion (108) of the data stream
(84)
and at least a portion of a label, tag or the like (110).
20


12. A method as recited in claim 9, characterized by displaying a data
correlator (112) which lists variables of the label, tag or the like, and
provides
fields in which a user can specify delimiters which have been identified in
the data
stream (108).
13. A method as recited in claim 12, characterized by using the printer
programming tool (40) to display a data correlator (112) which lists variables
of
the label, tag or the like, and provides fields in which a user can specify
delimiters
which have been identified in the data stream (108).
14. A method as recited in claim 9, characterized by automatically
identifying delimiters in the data stream (84).
15. A method as recited in claim 14, characterized by using the printer
programming tool (40) to identify delimiters in the data stream (84).
16. A method as recited in claim 9, characterized by using the printer
programming tool (40) to interpret and extract variable data from an XML data
stream (84).
17. A method of programming a printer (20) using a printer
programming tool (40), said method characterized by importing a data stream
(84) into the printer programming tool; having the printer programming tool
display at least a portion (108) of the data stream; and having the printer
programming tool generate a program (140) based on delimiters which have been
identified, where the program is configured for use by a printer such that the
21


printer can print labels, tags or the like using a data stream which would
otherwise
be incompatible with the printer, further comprising using the printer
programming tool to display at least a portion (108) of the data stream and at
least
a portion of a label, tag or the like (110) and using the printer programming
tool to
display a data correlator (112) which lists variables of the label, tag or the
like,
and provides fields in which a user can specify delimiters which have been
identified in the data stream.
18. A method as recited in claim 17, characterized by automatically
identifying delimiters in the data stream (84).
19. A method as recited in claim 18, characterized by using the printer
programming tool (40) to identify delimiters in the data stream (84).
20. A method as recited in claim 17, characterized in that the printer
programming tool (40) is configured to interpret and extract variable data
from an
XML data stream (84).
22

Description

Note: Descriptions are shown in the official language in which they were submitted.



WO 01/30$81 CA 02386843 2002-04-08 pCT/US00/41690
PRINTER PROGRAMMING TOOL AND METHOD
Related A~ lick
This application claims the benefit of United States Provisional
Application Serial No. 60/162,789, filed October 29, 1999.
Backgro
The present invention relates generally to bar code printers adapted
to print labels, tags or the like. The present invention relates more
specifically
to a data extraction tool or printer programming tool which is used to
generate a
program which can be executed by a printer to cause it to accept a legacy data
stream that would otherwise be unacceptable to it, and to cause printing of
one or
more labels, tags or the like. The present invention also specifically relates
to a
method of programming a bar code printer using a printer programming tool.
A typical bar code printer according to the prior art is connected to a host
system which sends a data stream in a proprietary protocol which the bar code
printer uses to print labels, tags or the like. The data stream contains
information
defining the design and layout of the label, tag, etc. to be printed. This
information typically includes descriptions of lines, boxes, logos and other
graphics, bar code symbologies, and text fields together with their dimensions
and
their intended locations on the label. The same data stream may optionally
1


CA 02386843 2002-04-08
WO 01/30581 PCT/US00/41690
specify variable data to be rendered or encoded by one or more of those
objects, or
it may name the data in such a way that it can be accepted in a further,
proprietary
data stream. By way of example, one such proprietary protocol is the Zebra
Programming Language (ZPL) which is described in detail in the ZPL II~
Programming Guide, Rev. l, available from Zebra Technologies Corporation,
located in Vernon Hills, Illinois.
Bar code printers typically use microprocessors to perform imaging and
printing functions. According to prior art, the protocol received is taken as
data
by a firmware program stored in Read Only Memory (ROM) or light-Erasable
Programmable Read Only Memory (EPROM.) The program performs the
operations necessary to render data as printed fonts or encode data into
printed bar
code symbols. More recently, bar code printers are equipped with Electrically
Erasable Read-Only-Memory (FLASH Memory) which can be electrically erased
and reprogrammed in the printer. This provides a means to upgrade or replace
all
or part of the printer's firmware program with a new program created by the
printer manufacturer. The upgraded or replacement program is supplied over the
Internet, floppy diskette, or CD-ROM containing a memory image and optionally
a program to download it from a personal computer and store it into the
printer's
FLASH memory via a serial, parallel, network, or other interface.
2o The use of proprietary protocols has limited the usefulness of prior art
bar
code printers to applications having software specifically written for them or
to
use with "middleware" applications designed to translate "legacy" data from
other


CA 02386843 2002-04-08
WO 01/30581 PCTlUS00/41690
sources or intended for other uses into the bar code printer's proprietary
protocols.
Among such middleware systems are "label prep" applications such as BarOne
and JetForm, which allow a designer to design a label using a "wysiwyg"
graphical interface, and which then incorporate legacy data from other
sources,
and assemble the proprietary protocol stream required by the bar code printer.
These systems run on a computer which is dedicated to the bar code printer, or
as
a process or driver on a multitasked computer, either of which must be running
when ever the bar code printer is in use.
A basic printer 10 is illustrated schematically in FIGURE 1. As shown,
to the printer 10 receives a data stream through a port 12, and a formatter 14
in the
printer 10 uses the data stream to generate a bit map 16. The printer 10 then
prints
a label, tag, etc. according to the bit map 16. For the printer 10 to operate
normally, the data stream and formatter 14 must be compatible. In other words,
the data stream must be in a format that the formatter 14 can use to generate
an
appropriate bit map 16. If the data stream is in a format which is
incompatible
with the formatter 14 in the printer 10, the formatter 14 will not be able to
generate an appropriate bit map 16, and the printer 10 will not print
acceptable
labels, tags, etc.
A more advanced printer 20 is illustrated schematically in FIGURE 2. As
2o shown, the printer 20 receives a data stream through a port 22, and an
interpreter
24 in the printer receives the data stream. The interpreter 24 interprets the
data
stream and effectively converts the data stream from one format into another,
3


CA 02386843 2002-04-08
WO 01/30581 PCT/US00/41690
where the new format is compatible with a formatter 26 in the printer 20. The
formatter 26 uses the newly-formatted data to generate a bit map 28, and the
printer 20 prints a label, tag, etc. according to the bit map 28. Therefore,
the
printer 20 illustrated in FIGURE 2 provides an advantage which the printer 10
shown in FIGURE 1 does not provide. Specifically, the printer 20 shown in
FIGURE 2 provides that the printer 20 can receive a data stream which would
otherwise be incompatible with the printer 20, can convert the data stream
into a
format which is compatible with the printer 20, and can print labels, tags,
etc.
using the newly-formatted data.
to While the printer 20 illustrated in FIGURE 2 does provide a distinct
advantage, the interpreter 24 of the printer 20 must be configured such that
the
interpreter 24 can properly convert the data stream which is received through
the
port 22. To configure the interpreter 24 as such, typically a program must be
provided for the interpreter 24 to use. Unfortunately, drafting such a program
typically requires that one have a fair amount of programming skill.
Objects and SummarX
From the foregoing, it may be appreciated that a need has arisen for a
system and method which adapts the bar code printer to accept the available
data
2o stream directly from a non-barcoding application, thereby eliminating the
middleware.
4


CA 02386843 2002-04-08
WO 01/30581 PCT/US00/41690
An object of an embodiment of the present invention is to provide a printer
programming tool which can be used to generate an executable program for a bar
code printer which will print labels, tags or the like using a data stream
which
would otherwise be incompatible with the printer.
A further object of an embodiment of the present invention is to provide
executable code which is directly executable by the microprocessor in the
printer
so as to print the label, ticket, or tag from the arbitrary data stream as
quickly as
possible.
A still further object of an embodiment of the present invention is to
1o provide a printer programming tool as an easy-to-use graphical tool which
can be
used to create the executable program by a person having limited programming
skill.
Briefly, and in accordance with at least one of the foregoing objects, an
embodiment of the present invention provides a printer programming tool that
is
15 configured for use by a programmer to generate a program which a printer
can use
such that the printer can print labels, tags or the like using a data stream
which
would otherwise be incompatible with the printer. The printer programming tool
is configured to provide a visual display of at least a portion of a data
stream, and
generates a program based on identified delimiters, where the program is
2o configured to be used by a printer.


W~ 01/30581 CA 02386843 2002-04-08 pCT/US00/41690
Preferably, the printer programming tool provides a visual comparison of
at least a portion of the data stream and at least a portion of a label, tag
or the like
containing variables. Preferably, the printer programming tool displays a data
correlator which lists the variables of the label, tag or the like, and
provides fields
in which a user can specify delimiters which have been identified in the
displayed
data stream. The printer programming tool may also be configured to
automatically identify delimiters in a given data stream.
Another embodiment of the present invention provides a method of
programming a printer using a printer programming tool. The method includes
to importing a data stream into the printer programming tool, having the
printer
programming tool display at least a portion of the data stream, and having the
printer programming tool generate a program based on delimiters which have
been
identified, where the program is configured for use by a printer such that the
printer can print labels, tags or the like using a data stream which would
otherwise
15 be incompatible with the printer.
Preferably, the printer programming tool displays at least a portion of the
data stream and at least a portion of a label, tag or the like, where the
label, tag,
etc. includes variables. Preferably, the printer programming tool displays a
data
correlator, and the data correlator lists the variables of the label, tag or
the like,
2o and provides fields in which a user can specify delimiters which have been
identified in the data stream. The printer programming tool may also be
configured to automatically identify delimiters in a given data stream.


w0 01/30$81 CA 02386843 2002-04-08 pCT~S00/41690
Brief Description of the Drawings
The organization and manner of the structure and function of the
invention, together with further objects and advantages thereof, may be
understood by reference to the following description taken in connection with
the
accompanying drawings, wherein:
FIGURE 1 is a simplified schematic diagram of a basic printer, showing
the printer receiving a data stream and printing a label, tag or the like;
FIGURE 2 is a simplified schematic diagram of a printer which is more
advanced than the printer illustrated in FIGURE 1, showing the printer
receiving a
l0 data stream in one format ("Format A"), converting the data stream into
another
format ("Format B"), and printing a label, tag or the like;
FIGURE 3 is a block diagram of an arrangement which can be used to
program an interpreter of a printer, wherein the arrangement includes a
printer
programming tool which is in accordance with an embodiment of the present
15 mvenhon;
FIGURE 4 is a block diagram of an exemplary computer network which
includes a printer programming tool that is in accordance with an embodiment
of
the present invention;
FIGURE 5 is a block diagram of a method which can be used in
2o connection with the arrangement shown in FIGURES 3 and 4;


CA 02386843 2002-04-08
WO 01/30581 PCT/US00/41690
FIGURE 6 is a screen shot of the printer programming tool illustrated in
FIGURES 3 and 4, depicting a portion of a data stream, a label containing
variables, and a data correlator that lists variables of the label and
includes fields
in which delimiters which are identified in the data stream are listed; and
FIGURE 7 is another screen shot of the printer programming tool
illustrated in FIGURES 3 and 4, depicting a program which has been generated
by
the printer programming tool, where the program is configured for use in
programming a printer as shown in FIGURES 3 and 4.
to Description of the Preferred Embodiment
While the present invention may be susceptible to embodiment in different
forms, there is shown in the drawings, and herein will be described in detail,
an
embodiment of the invention with the understanding that the present
description is
to be considered an exemplification of the principles of the invention and is
not
15 intended to limit the invention to that as illustrated and described
herein.
FIGURE 3 depicts an arrangement 30 which can be used to program an
interpreter 24 of a printer 20. The arrangement 30 includes a printer
programming
tool or data extraction tool 40 which is in accordance with an embodiment of
the
present invention. The printer programming tool 40 receives data in a given
20 format ("Format A"), and generates a program which converts the given
format
("Format A") into another format ("Format B"). The program is then downloaded
to the printer 20, and an interpreter 24 (as shown in FIGURE 2) uses the
program


CA 02386843 2002-04-08
WO 01/30581 PCT/US00/41690
to interpret a data stream that is received in one format ("Format A"), and
converts
the data stream to a different format ("Format B"), where the new format is
compatible with a formatter 26 in the printer. The formatter 26 uses the newly-

formatted data to generate a bit map 28, and the printer 20 prints a label,
tag, etc.
according to the bit map 28. Hence, the program which is used by the
interpreter
24 allows the printer 20 to use a data stream which otherwise would be
incompatible with the printer 20.
In the past, one had to have a fair amount of programming skill to write an
appropriate program for converting the format of a given data stream. The
1o program typically depends on what data format is compatible with the
formatter
26 of the printer 20 and what data format is expected to be received through
the
port 22 of the printer 20. Typically, each company has its own data format.
Some
of the existing data stream formats are: BASIC, IPL (Intermec Printer
Language),
Datamax Printer Language, Sato Printer Language, ZPL (Zebra Programming
15 Language), EPL (Eltron Programming Language), QMS and EPOS (Epson Point
of Sale).
For example, if a printer which is configured to print label, tags or like
based on ZPL is expected to receive a data stream which is formatted in EPOS,
a
given program must be written for use by the interpreter in the printer so
that the
20 interpreter can convert EPOS to ZPL. On the other hand, if the printer
which is
configured to print based on ZPL is expected to receive a data stream which is
formatted in QMS, a different program must be written for use by the
interpreter


CA 02386843 2002-04-08
WO 01/30581 PCT/US00/41690
in the printer so that the interpreter can convert QMS to ZPL. A printer
programming tool 40 in accordance with the present invention provides a
relatively easy-to-use graphical tool which can be used by a programmer to
generate a program that can be used by a printer 20 so that the printer 20 can
receive a data stream in one format or language (i.e. BASIC, IPL, EPL, etc.)
and
convert the data stream into another format (i.e. ZPL, etc.) which the printer
20
can use to print labels, tags or the like.
FIGURE 4 illustrates an exemplary computer network which includes a
printer programming tool in accordance with an embodiment of the present
to invention. As shown in FIGURE 4, server 42 runs operating system 44 having
a
print queue 46 and a connection 48 to a network 50. Operating system 44 need
not be graphically oriented and may be of any type, such as Unix, Linux,
Windows NT Server, or an earlier "legacy" operating system. Server 42 fiu-ther
has connection 48 to a network 50, allowing it to communicate with a line
printer
15 52 similarly connected to network 50. Server 42 runs a prior art "legacy"
application 54 such as an ERP application which is adapted to print human-
readable documents such as purchase orders and packing lists on line printer
52.
As such, the print job transmitted from application 54 through operating
system
44 and print queue 46, over connection 42 and network 48 to line printer 52
20 typically consists of the variable data to be printed intermingled with
formatting
codes appropriate to the type of line printer to specify the text fonts and
character
positionings appropriate to the form to be printed.


CA 02386843 2002-04-08
WO 01/30581 PCT/US00/41690
With continued reference to FIGURE 4, client system 56 (generally
corresponding to printer 20 in FIGURE 3) is shown having operating system 58
further having print queue 60 and a connection 62 to the network 50. Client
system 56 further has a graphics display 64 and a user input system 66,
preferably
consisting of a keyboard 68 and mouse 70. Operating system 58 is preferably a
graphically oriented operating system such as Windows 95 or Windows NT for
reasons that will become apparent below. Client 56 further has its own
connection
62 to network 50, allowing it to communicate with bar code printer 72
similarly
connected to network 50. As shown, preferably client 56 is running the printer
to programming tool 40 that is in accordance with an embodiment of the present
invention.
Bar code printer 72 preferably includes a microprocessor, FLASH
Memory, Random Access Memory (RAM) for storing bitmap images of labels to
be printed, and a port for connection to a network (see FIGURE 4). The printer
72
15 further preferably includes a motor driver and a print head interface which
is
connected to a print mechanism, all of which is generally known in the prior
art.
Preferably, the print mechanism is of the thermal printing type, but may
instead be
ink jet, laser, or some other type adapted to print bar codes.
Preferably, bar code printer 72, client 56 and server 42 (see FIGURE 4) are
2o continuously connected by network 50; however, each may be equipped with
serial, or parallel ports of the ordinary type through which the bar code
printer 72
is connected.
11


CA 02386843 2002-04-08
WO 01/30581 PCT/US00/41690
The printer programming tool 40 and a method using same will now be
described in further detail. With reference to FIGURES 4 and 5, preferably the
user selects a new project from the file menu at step 80. The legacy data
stream
from non bar-code application 54 is then imported at step 82, containing both
variable data and formatting codes appropriate to line printer 52 as described
previously. Also at step 82, printer programming tool 40 optionally displays
legacy data 108 intact in a window 106 (see FIGURE 6), which will be described
more fully later herein. Printer programming tool 40 may be configured to
perform the functions of line printer 52 with respect to formatting codes and
to
l0 display the image thereby printed in an on-screen window, generally
interpret the
formatting codes and create a label that looks similar to the legacy label
(steps 86
and 88), and then automatically correlate the data 84 from the data stream to
variable fields (step 90) on the label which has been created.
In addition, or in the alternative, printer programming tool 40 may be
15 configured to allow a user to draw, or otherwise create, a label that looks
similar
to the legacy label, where user identifies the fixed information that is on
the label
(step 86 and 88). At step 90, the user then identifies the variable data in
the
legacy data stream and indicates where on the label of step 86 the variable
information should be printed (step 90).
20 Regardless of whether the printer programming tool 40 is configured to
automatically interpret the data stream to create a label that looks like the
legacy
label or is configured to have a user create the label manually, after the
variable
12


CA 02386843 2002-04-08
WO 01/30581 PCT/US00/41690
data in the data stream has been correlated with variable fields on the label,
preferably the printer programming tool generates a program (step 92),
executable
by the microprocessor of the printer which later separates the designated
information from the legacy data stream 84. This program is downloaded to the
printer (step 94) which stores it in its Flash ROM in the prior art manner.
Thereafter, when the printer receives legacy label data (boxes 86 and 88), the
printer, using the program (step 98) which has been downloaded, separates the
required data and printer an appropriate label, tag or the like (boxes 100 and
102).
Preferably the printer programming tool 40 is a computer program which
to operates under Windows~ as shown in the screen shots 104 and 140
illustrated in
FIGURES 6 and 7, respectively. As shown in FIGURE 6, preferably after the
legacy label data has been imported, the printer programming tool 40 displays
a
window 106 that contains at least a portion of the legacy data 108 that has
been
imported. Additionally, preferably the printer programming tool 40 also
displays
15 the label 110 which has been generated (either automatically or by a user)
which
looks generally like the legacy label. As shown, the displayed label 110
preferably contains names of variables which will be printed on the label and
which are contained in the data stream which is displayed.
As shown, preferably the printer programming tool 40 also displays a data
2o correlator 112. The data correlator 112 is preferably in a spread sheet
format and
contains a plurality of fields arranged in columns and rows. Preferably, one
column 114 (i.e. "Column A") displays the names of the variables which will be
13


WO 01/30581 CA 02386843 2002-04-08 pCT/LTS00/41690
printed on the label and which are contained in the displayed data stream
(i.e.
"Company Name," "Company Address," "Company Phone," Vendor ID" and
"Container ID") as well as displays "Start-of Format" and "End-of Format."
Preferably, another column 116 (i.e. "Column B") contains fields in which
a user can insert data which is identified in the data stream. Preferably,
each row
initially lists the data as being "Delimited." However, if a user detects that
particular type of data (i.e. "Start-of Format," "Company Name," "Company
Address," "Company Phone," Vendor ID," "Container ID" and "End-of Format")
is constant in the data stream, the user can insert the data entry which is
identified.
to For example, in the data stream which is shown in FIGURE 6 (in window 106),
it
can be discerned that the "Start-of Format" (i.e. the beginning of a new
label, tag
or the like) is always indicated with "SSO~C~" and the "End-of Format" (i.e.
the
end of a new label, tag or the like) is always indicated with "E5~5'',
therefore a
user enters "S50~C~" and "E5~5~"in the appropriate fields.
Preferably, other columns (i.e. "Columns C and D") 118 and 120 contain
fields in which a user can insert delimiters which are identified in the data
stream.
For example, one column 118 (i.e. "Column C") may contain fields for inserting
left delimiters, or data which is to the left of variable data (i.e. a
company's name,
address, phone, vendor ID and container ID), and another column 120 (i.e.
"Column D") may contain fields for inserting right delimiters, or data which
is to
the right of variable data. For example, "Sears" appears in the data stream
displayed in FIGURE 6. Obviously, "Sears" is a company's name. Therefore, a
14


CA 02386843 2002-04-08
WO 01/30581 PCT/US00/41690
user inserts the left delimiter, i.e. "H0;041,45;FOC20,7,11;d3," in the
appropriate
column and row, and does the same for the right delimiter. After imputing all
the
identified delimiters in the appropriate positions in the data correlator 112,
the
user directs the printer programming tool 40 to generate a program based
thereon
which can be used by a printer to operate with a data stream which would
otherwise be incompatible. Such a program is shown in the screen shot 140
illustrated in FIGURE 7.
Alternatively, or in addition to, that which has been described, the printer
programming tool may 40 be configured to automatically detect the delimiters
in a
given data stream and generate a program, such as the program shown in FIGURE
7, which can be used by a printer to operate with a data stream which would
otherwise be incompatible.
The printer programming tool 40 may be configured to allow the user to
draw a label design in window 110 by dragging and dropping objects from an
i5 associated tool bar and filling in the dialogs in a manner customary to
Windows
applications.
While FIGURE 6 depicts a preferred screen shot 104, it is possible to
provide a different screen shot which would effectively provide the same
advantages. For example, the printer programming tool 40 may merely provide a
visual display of a portion of the legacy data stream 108 and have the user
indicate
the delimiters of each of the variables, etc. contained therein and/or the
printer
programming tool 40 may automatically identify the delimiters in a given data


CA 02386843 2002-04-08
WO 01/30581 PCT/US00/41690
stream. The printer programming tool 40 may provide still other features and
advantages which will become evident from reviewing the appendix which is
attached to United States Provisional Application Serial No. 60/162,789, filed
October 29, 1999, from which this application claims benefit. United States
Provisional Application Serial No. 60/162,789 is hereby incorporated in its
entirety by reference.
Preferably, the printer programming tool 40 is configured such that it
automatically recognizes certain, known printer label languages, and can
quickly
generate the program for downloading to a printer. Preferably, the printer
to programming tool identifies the delimiters in the data stream, and displays
a list of
variables identified in the data stream. The user can then identify which
variables
are desired from the list of variables.
Preferably, the program which has been generated by the printer
programming tool 40 is downloaded to the printer over a network, via a
telephone
line, where the printer is connected to the telephone line via a modem.
Preferably,
the printer can be directed, either offsite through the telephone line or on
site, to
run a print test, where the results of the test are communicated back over the
telephone line and/or onto a label. Preferably, the delimiters of the data
stream are
identified or any other information which would be helpful to determine why
the
printer may not be printing labels correctly.
16


WU 01/30581 CA 02386843 2002-04-08 pCT/US00/41690
Providing a printer programming tool and method in accordance with the
present invention preferably provides that a programmer can effectively write
a
program which a printer can use to convert a data stream in one format into a
different format which the printer can use to print labels, tags or the like.
Preferably, the printer programming tool and method provide that the
programmer
need not have a high level of programming skill.
Preferably, the printer programming tool 40 is configured to interpret and
extract variable data from XML data streams. As one having ordinary skill in
the
art would recognize, XML is a text/ASCII based data format that comprises a
1o series of hierarchical tags that label variable data.
While an embodiment of the present invention is shown and described, it
is envisioned that those skilled in the art may devise various modifications
without departing from the spirit and scope of the foregoing description.
17

Representative Drawing
A single figure which represents the drawing illustrating the invention.
Administrative Status

For a clearer understanding of the status of the application/patent presented on this page, the site Disclaimer , as well as the definitions for Patent , Administrative Status , Maintenance Fee  and Payment History  should be consulted.

Administrative Status

Title Date
Forecasted Issue Date Unavailable
(86) PCT Filing Date 2000-10-27
(87) PCT Publication Date 2001-05-03
(85) National Entry 2002-04-08
Dead Application 2004-10-27

Abandonment History

Abandonment Date Reason Reinstatement Date
2003-10-27 FAILURE TO PAY APPLICATION MAINTENANCE FEE

Payment History

Fee Type Anniversary Year Due Date Amount Paid Paid Date
Application Fee $300.00 2002-04-08
Registration of a document - section 124 $100.00 2002-05-17
Registration of a document - section 124 $100.00 2002-05-17
Maintenance Fee - Application - New Act 2 2002-10-28 $100.00 2002-09-05
Owners on Record

Note: Records showing the ownership history in alphabetical order.

Current Owners on Record
ZIH CORPORATION
Past Owners on Record
KAUFMAN, JEFFREY R.
POOLE, DAVID L.
ZEBRA TECHNOLOGIES CORPORATION
Past Owners that do not appear in the "Owners on Record" listing will appear in other documentation within the application.
Documents

To view selected files, please enter reCAPTCHA code :



To view images, click a link in the Document Description column. To download the documents, select one or more checkboxes in the first column and then click the "Download Selected in PDF format (Zip Archive)" or the "Download Selected as Single PDF" button.

List of published and non-published patent-specific documents on the CPD .

If you have any difficulty accessing content, you can call the Client Service Centre at 1-866-997-1936 or send them an e-mail at CIPO Client Service Centre.


Document
Description 
Date
(yyyy-mm-dd) 
Number of pages   Size of Image (KB) 
Representative Drawing 2002-04-08 1 40
Cover Page 2002-09-25 2 65
Abstract 2002-04-08 1 77
Claims 2002-04-08 5 151
Drawings 2002-04-08 5 108
Description 2002-04-08 17 600
PCT 2002-04-08 3 134
Assignment 2002-04-08 2 88
Assignment 2002-05-17 3 251
PCT 2002-04-09 3 148
PCT 2002-04-09 3 159