None.
None.
None.
1. Field of the Disclosure
The present disclosure relates to printers and printing systems. More particularly, the disclosure relates to an apparatus and method for reprogramming an identifier, such as an RFID tag, on print media.
2. Description of the Related Art
Inkjet and laser printers are common in most workplace and home computing environments. Today, many printers are multi-functional assemblies capable of printing on a large array of print media including letterhead, paper envelopes and labels. A recent innovation in the printing industry involves the manufacturing of print media with embedded radio frequency signatures in the form of Radio Frequency Identification (RFID) transponders or tags. These tags, sometimes called “Smart Labels”, may be used with a variety of existing printing methods.
Embedded print media may include a backing material (sometimes referred to as the “web”) upon which a label is applied, with a RFID tag sandwiched in between the label and the backing material. There may be one or more labels on the web and the sheet, as presented, may be part label and part plain paper. In some cases there may be more than one tag arrayed across the width and down the length of the media such that multiple columns and/or rows of tags are contained on the print media.
Printing on media with embedded RFID tags is rapidly becoming a growing area of label printing. Each tag on a sheet may be printed with certain data, and the RFID tag embedded within that media may be used to allow individualized processing of user associated data. For example, a shipping label might have the delivery address and a package tracking ID printed on it, while the corresponding tag would be programmed with the same information. The delivery information may then be read from the tag, whether or not the package is positioned so that the tag is visible.
Occasionally, the programming of RFID tags is not 100% successful. For example, a situation may arise in which a sheet of media may include a number of tags, not all of which are successfully programmed. In this situation, a substitute tag including the same information intended for the failed tag or tags must be created. This may require the resubmission of the entire sheet of media having the data intended for the initial attempt. However, it is possible that one of the RFID tags on this reprinted sheet may fail again. Further, reprinting the entire sheet of media may be cost-prohibitive as it may produce a large number of duplicative tags.
In accordance with one exemplary embodiment, the present disclosure relates to a a method for programming at least one identifier onto a sheet n of print media, wherein n is an integer. This may then be followed by determining the presence of at least one unsuccessfully programmed identifier on the sheet n of print media. One may then re-program the at least one unsuccessfully programmed identifier onto a subsequent sheet of print media, where the subsequent sheet of media includes one or a plurality of identifiers for programming. In addition, the method also includes determining if such reprogramming of the at least one unsuccessfully programmed identifier, on the subsequent sheet of print media, requires shifting of the programming for at least one identifier originally targeted for programming onto the subsequent sheet of print media. If it is determined that such a program shift is required, the identifier originally targeted for programming on the subsequent sheet of media may be programmed onto a different sheet of media.
In accordance with another exemplary embodiment, the present disclosure again relates to a method for programming at least one identifier from a print job onto one or a plurality of sheets of print media containing one or more identifiers for programming. The method may include determining the presence of at least one unsuccessfully programmed identifier on the one or plurality of sheets of print media and retaining in memory the correct programming for the at least one unsuccessfully programmed identifier. This may then be followed by re-programming only the at least one unsuccessfully programmed identifier onto print media at the completion of said print job.
In another exemplary embodiment, the present disclosure relates to an article comprising a storage medium having stored thereon instructions that when executed by a machine result in the following: programming at least one identifier onto a sheet n of print media, wherein n is an integer; determining the presence of at least one unsuccessfully programmed identifier on the sheet n of print media; re-programming the at least one unsuccessfully programmed identifier onto a subsequent sheet of print media; wherein the subsequent sheet of media includes one or a plurality of identifiers for programming; and determining if the reprogramming of the at least one unsuccessfully programmed identifier on the subsequent sheet of print media requires shifting programming for at least one identifier targeted for programming onto the subsequent sheet of print media.
In another exemplary embodiment, the present disclosure relates to an article comprising a storage medium having stored thereon instructions that when executed by a machine result in the following: programming at least one identifier from a print job onto one or a plurality of sheets of print media containing one or more identifiers for programming; determining the presence of at least one unsuccessfully programmed identifier on the one or plurality of sheets of print media; retaining in memory the correct programming for the at least one unsuccessfully programmed identifier; and re-programming only the at least one unsuccessfully programmed identifier onto print media at the completion of the print job.
In another exemplary embodiment, the present disclosure relates to a method comprising programming at least one identifier onto a sheet of print media wherein the print media includes y identifiers for programming, wherein y is an integer. This may then be followed by determining the presence of at least one unsuccessfully programmed identifier on the sheet of print media and determining the number of identifiers z to be programmed to such sheet of print media, where z is an integer as well as determining whether y>z. This may then be followed by re-programming the at least one unsuccessfully programmed identifier onto the sheet of print media when y>z.
In yet another exemplary embodiment, the present disclosure relates to an article comprising a storage medium having stored thereon instructions that when executed by a machine result in the following: programming at least one identifier onto a sheet of print media wherein the print media includes y identifiers for programming, wherein y is an integer, determining the presence of at least one unsuccessfully programmed identifier on the sheet of print media. This may then be followed by determining the number of identifiers z to be programmed to said sheet of print media, where z is an integer and determining whether y>z and re-programming the at least one unsuccessfully programmed identifier onto said sheet of print media when y>z.
The above-mentioned and other features and advantages of this disclosure, and the manner of attaining them, will become more apparent and the disclosure will be better understood by reference to the following description of embodiments of the disclosure taken in conjunction with the accompanying drawings, wherein:
It is to be understood that this disclosure is not limited in its application to the details of construction and the arrangement of components set forth in the following description or illustrated in the drawings. The disclosure is capable of other embodiments and of being practiced or of being carried out in various ways. Also, it is to be understood that the phraseology and terminology used herein is for the purpose of description and should not be regarded as limiting. The use of “including,” “comprising,” or “having” and variations thereof herein is meant to encompass the items listed thereafter and equivalents thereof as well as additional items. Unless limited otherwise, the terms “connected,” “coupled,” and “mounted,” and variations thereof herein are used broadly and encompass direct and indirect connections, couplings, and mountings. In addition, the terms “connected” and “coupled” and variations thereof are not restricted to physical or mechanical connections or couplings.
For simplicity the discussion below will use the terms “media”, “sheet” and/or “paper” to refer to a discrete unit of media. It should be understood, however, that this term is not limited to paper sheets, and any form of discrete media is intended to be encompassed therein, including without limitation, envelopes, transparencies, postcards, labels, and the like. The disclosure herein also applies to printing devices such as an electrophotographic printer, an inkjet printer, a fax device, a copier, an all-in-one device, an RFID printer or a multipurpose device.
Referring now to the drawings,
Printing system 10 may also contain at least one serial input or parallel input port, network or USB port, or in many cases several types of input ports, as designated by the reference numeral 18 for the serial port and the reference numeral 20 for the parallel port. Each of these ports 18 and 20 may be connected to a corresponding input buffer, generally designated by the reference numeral 22 on
Once the text or graphical data has been received by input buffer 22, it may be communicated to one or more interpreters designated by the reference numeral 28. A common interpreter is PostScript™, which is an industry standard used by some laser printers. After being interpreted, the input data may be sent to a common graphics engine to be rasterized, which may occur in a portion of RAM designated by the reference numeral 30 on
Once the data has been rasterized, it may be directed into a Queue Manager or page buffer, which may be a portion of RAM designated by the reference numeral 34. In a typical laser printer, an entire page of rasterized data may be stored in the Queue Manager during the time interval that it takes to physically print the hard copy for that page. The data within the Queue Manager 34 may be communicated in real time to a print engine designated by the reference numeral 36. Print engine 36 may include a laser light source within its printhead (not shown), and its output may be the physical marking on a piece of paper, which may be the final print output from printing system 10.
In some embodiments, the address, data, and control lines may be grouped in buses, which are electrically conductive pathways that are physically communicated in parallel (sometimes also multiplexed) around the various electronic components within printing system 10. For example, the address and data buses may be sent to all ROM and RAM integrated circuits and the control lines or interrupt lines may be directed to all input or output integrated circuits that act as buffers.
Print engine 36 may contain the core print circuitry which may be embodied in an Application Specific Integrated Circuit (ASIC) (not shown), for example, and which may act as the printing device's primary controller and data manipulating device for the various hardware components within the print engine 36. The bitmap print data arriving from Queue Manager 34 may be received by the core print circuitry, and at the proper moments may be sent in a serialized format to the laser printhead.
The print engine 36 may be in communication with a number of paper-handling devices via a communications bus 70. Some of the paper-handling devices depicted on
Print engine 36 may also be coupled to and/or in communication with a number of RFID devices. For example, an RF device controller 38 may be included that may be configured to communicate and/or control a variety of RF devices associated with system 10. One such device may be an RF reader/programmer 84, which is discussed in further detail below with reference to
Each input tray 60, 62 may be configured to hold media, which may contain one or more identifiers. An identifier as described herein may therefore be understood to include, e.g., an RFID transponder, an RFID tag (e.g., active, passive and/or semi-passive), a “smart card”, a “smart label”, a microchip/antenna package, a “chipless” RFID tag, or any other programmable identification device. A “chipless” RFID tag (e.g., RF fibers) may not utilize any integrated circuit technology to store information. The tag may also use fibers or materials that reflect a portion of a reader's signal back and such unique return signal may then be used as for identification purposes.
It may therefore be appreciated that within each input tray, and as between input trays, the media may have different types of RFID tags, each intended to have, or having, its own programmed data which tag may then communicate via the use of radio waves. Furthermore, as noted above, the RFID tags may differ with respect to whether or not the tags are a passive tag, which may be understood as those tags that are ultimately powered by an RFID reader/programmer, or an active tag, in which case the RFID tag may have its own power source. Passive RFID tags may make use of a coiled antenna that may create a magnetic field using the energy provided by the reader's carrier signal. The RFID tags may also be a semi-passive tag, which have a power source (e.g. a laminar, flexible relatively low cost battery) which may be used for on tag sensing. The RFID tags may also be a read only tag that contains a unique programming that cannot be changed, or a write once read many (WORM) tag that may enable users to encode tags at the first instance of use wherein the code may then become locked. The RFID tags may also be a read/write tag that allows for updated or new information to be written to the tag. As discussed more fully below, printing system 10 may be configured to determine whether an RFID identifier has been programmed successfully and, if not, how to efficiently reprogram the identifier.
Within each input tray 60, 62, and as between input trays, the media may have a different number of tags. With respect to media having the same number of tags, the tags may be arranged at different locations. For example, one media type may have a single tag located in the center of the page near the leading edge. A different media type may have two tags, one in the upper left corner and the other at mid-page on the right side. It may also be appreciated that as between input trays, the nature of the media in which the RFID tags may be embedded may differ. For example, the media may be paper, label, cardstock, transparencies, etc. System 10 may be used to select a media input source (e.g., trays 60 and/or 62) for printing RFID media. Although only two input trays are shown, it is contemplated that any number of input sources may be used in accordance with the present disclosure.
Printing system 10 may also include at least one paper or other type of print media positioning sensor. In some cases, the paper positioning sensors may be optoelectronic devices, which have a light source that may be a light emitting diode (LED). This may allow for sensing the position of a sheet of paper or other print media and may provide a method of determining when the leading edge or trailing edge of a sheet of print media has reached a particular point along the media pathway. Furthermore, many different types of sensors may be used other than optoelectronic devices (e.g., a limit switch to detect whether or not the printer cover is closed) without departing from the principles of the present disclosure.
In some embodiments, radio frequency control circuitry 280 may attempt to read and/or program a tag embedded in the media and then note the success or failure of this attempt. The radio frequency control circuitry 280 may then monitor or “listen” on its communications port to track the page's location as it moves through the printer. It is contemplated that controller 238 may be packaged into an aftermarket option that may be installed in a printer, such as printing device 10, without modification of the printer's other essential systems such as print engine 236 including the core print logic.
Printing device 10 may include test routines that may be capable of detecting certain failures or errors within printing device 10. Some of these errors may include, but are not limited to, an inability to communicate with RF reader/programmer 284, or an indication of a problem with antenna 282 forwarded from reader/programmer 284. Printing device 10 may include firmware having check routines that may validate the data passed down from a print job, wherein a print job may be understood as a selected amount of data that is targeted for a given amount of print media. These check routines may also be capable of detecting instances of data corruption or other internal errors. If an error is detected an error message may be presented to operator panel 290, which may present descriptive debug information for a repair technician.
With the above in mind, it is now useful to point out that a computer running a host application may be connected to a printer, such as that shown in
For example, in one embodiment, if the printer fails to properly program a tag, an asynchronous event may be transmitted back to the host. This event may initially contain the page identifier of the tag that failed to print. This event may be transmitted via a number of different communication mechanisms, including, but not limited to, network protocol alliance (NPA) and printer job language (PJL). The printer may then send an event to the host in order to indicate that the page has been completed.
Accordingly, as each identifier is programmed, an asynchronous event may also be sent back to the host. This event may contain the page identifier of the particular identifier that may have been unsuccessfully programmed as well as information concerning precisely which identifier may have been unsuccessfully programmed on the indicated page. After the printer has confirmed programming of the final identifier for a given print job, the host may then establish and report to a user that such final page has been completed. However, in that situation where it has been recognized that one or more identifiers have not been successfully programmed, the system may now reprogram such identifiers as described in further detail below.
For example, the host may wait until it has verified which identifiers for a particular page have been successfully programmed before composing the next page. In this embodiment, the host may then resubmit the unsuccessfully programmed identifiers on the very next page that is sent form the host for printing. It therefore can be readily appreciated that this may then allow a user to specifically locate the unsuccessfully programmed identifiers on a next page rather than at the end of the entire print job. In addition, as explained more fully below, the host may resubmit the unsuccessfully programmed identifiers on the last page of the print job, and the system herein may therefore, in either situation, reduce the number of pages of identifiers that may require programming.
Referring now to
Referring now to
However, page 2 may itself include one or more failed identifiers, such as identifier 4 shown in
In another exemplary embodiment, the host may obtain the information regarding all of the unsuccessfully programmed identifiers across various pages and resubmit these identifiers at the end of the print job.
Accordingly, it may now be appreciated that the method herein may determine if reprogramming of at least one unsuccessfully programmed identifier on a subsequent sheet of print media will require shifting of the programming for any one of those identifiers originally targeted for such subsequent sheet of print media. This may then be followed by programming such originally (and now shifted) targeted identifier onto an entirely different sheet of print media, which different sheet of media may be a n+2 sheet of media, or even some other sheet of media (e.g. n+3, n+4, n+5, etc.) within a given print job.
In a still further exemplary embodiment of the present disclosure, one may again program at least one identifier onto a particular sheet of print media, wherein the print media is such that it may include y tags available for programming, wherein y is an integer. The method may then determine the presence of at least one or more unsuccessfully programmed identifiers on the sheet of print media. The method may then also determine, for a given number of identifiers z to be programmed to the particular sheet of media, whether or not there remains a sufficient number of identifiers available for programming (i.e. y tags) so that the unsuccessfully programmed identifier may be programmed onto such sheet of print media. For example, if there remains a sufficient number of identifiers available for programming (i.e. y>z) then one may select an available identifier for reprogramming of the unsuccessfully programmed identifier onto the particular sheet of print media. This may therefore be accomplished rather than shifting the reprogramming of the unsuccessfully programmed identifier to a subsequent sheet of print media, containing one or a plurality of identifiers for programming. Such shifting may therefore be required when y is less than or equal to z (i.e. y≦z).
Attention is therefore directed to
With regards to any of the features noted above, it should also contemplated herein that whenever there is identification of an unsuccessfully programmed identifier, one may provide that the printer mark such unsuccessfully programmed identifier (e.g. a visible mark) so that the user may be informed that such identifier may not be suitable for use. In this manner, the user may then await for the re-programming of the identifier on a subsequent sheet of media in a manner as described herein.
Furthermore, as used in any embodiment described herein, suitable “circuitry” for the host and printers noted herein may comprise, for example, singly or in any combination, hardwired circuitry, programmable circuitry, state machine circuitry, and/or firmware that stores instructions executed by programmable circuitry. It should be understood at the outset that any of the operations and/or operative components described in any embodiment herein may be implemented in software, firmware, hardwired circuitry and/or any combination thereof.
It should now also be clear that embodiments of the methods described above may be implemented in a computer program that may be stored on a storage medium having instructions to program a system to perform the methods. The storage medium may include, but is not limited to, any type of disk including floppy disks, optical disks, compact disk read-only memories (CD-ROMs), compact disk rewritables (CD-RWs), and magneto-optical disks, semiconductor devices such as read-only memories (ROMs), random access memories (RAMs) such as dynamic and static RAMs, erasable programmable read-only memories (EPROMs), electrically erasable programmable read-only memories (EEPROMs), flash memories, magnetic or optical cards, or any type of media suitable for storing electronic instructions. Other embodiments may be implemented as software modules executed by a programmable control device.
It should be understood that modifications can be made to the disclosure in light of the above detailed description. The terms used in the following claims should not be construed to limit the disclosure to the specific embodiments disclosed in the specification and the claims. Rather, the scope of the disclosure is to be determined entirely by the following claims, which are to be construed in accordance with established doctrines of claim interpretation.