EP1777660B1 - Technique for precomputing codes based on a predicition - Google Patents
Technique for precomputing codes based on a predicition Download PDFInfo
- Publication number
- EP1777660B1 EP1777660B1 EP06127012A EP06127012A EP1777660B1 EP 1777660 B1 EP1777660 B1 EP 1777660B1 EP 06127012 A EP06127012 A EP 06127012A EP 06127012 A EP06127012 A EP 06127012A EP 1777660 B1 EP1777660 B1 EP 1777660B1
- Authority
- EP
- European Patent Office
- Prior art keywords
- postage
- symbol
- data
- postal data
- code
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Classifications
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07B—TICKET-ISSUING APPARATUS; FARE-REGISTERING APPARATUS; FRANKING APPARATUS
- G07B17/00—Franking apparatus
- G07B17/00185—Details internally of apparatus in a franking system, e.g. franking machine at customer or apparatus at post office
- G07B17/00362—Calculation or computing within apparatus, e.g. calculation of postage value
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07B—TICKET-ISSUING APPARATUS; FARE-REGISTERING APPARATUS; FRANKING APPARATUS
- G07B17/00—Franking apparatus
- G07B17/00459—Details relating to mailpieces in a franking system
- G07B17/00508—Printing or attaching on mailpieces
Definitions
- the invention relates to a technique for generating multi-dimensional symbols representative of information, and more particularly to a technique for franking postage indicia incorporating such symbols representative of postal information.
- DSA Digital Signature Algorithm
- a data matrix symbol is made up of square modules or cells representing information.
- Figs. 1A and 1B illustrate one such data matrix symbol (denoted 100), and its finder patterns (collectively denoted 150) defining data regions in symbol 100, respectively.
- data matrix symbol 100 includes data regions I, II, III and IV containing square modules which are disposed in arrays.
- a dark module represents a first data value (e.g., binary bit "1")
- a light module represents a second data value (e.g., binary bit "0").
- Symbol 100 is typically square in shape, and the number of rows (or number of columns) of the modules, and thus its size, increases with the amount of data represented thereby.
- Symbol 100 also includes codewords for checking and correcting errors in the data after its communication, thereby affording accuracy of the communicated data.
- symbol 100 is of the type of the so-called "error checking and correcting (ECC) 200" data matrix symbol, and the codewords therein are generated in accordance with the well-known Reed-Solomon error correction technique.
- ECC error checking and correcting
- the postage indicium applied on a mailpiece includes postal information which is digitally signed, and thereby can be authenticated by a postal authority when the mailpiece is processed.
- the indicium includes a machine readable portion including a 2-D symbol, e.g., a 2-D barcode, readable by an optical scanner.
- Fig. 2 illustrates mailing system 201 embodying the principles of the invention for franking postage onto a given medium, e.g., a mailpiece, tape, etc.
- system 201 includes host device 250, postal security device (PSD) 280 and printer 290.
- PSD postal security device
- System 201 may be configured as an "open system," where host device 250 comprises a personal computer (PC), workstation or general purpose computing machine, and PSD 280 and printer 290 serve as peripherals to host device 250.
- System 201 may alternatively be configured as a "closed system," where host device 250 and printer 290 are dedicated to the postage franking operation and typically enclosed in the same casing, and where PSD 280 may or may not be enclosed therein.
- the sequence of the postal data elements represented by the single symbol or multiple symbols when read may not match the sequence expected by the postal authority. If that is the case, each postal data element represented by the single symbol or multiple symbols may be preceded by a field identifier indicating the order of the data element with respect to the sequence expected by the postal authority.
- processor 255 at step 583 prepares another bit map for a print image of the variable part of human readable portion 405 including the dispensed postage and mail class.
- processor 255 transfers the resulting bit map to the print memory as well.
- processor 255 causes printer 290 to start printing symbol 420, followed by human readable portion 405, based on the respective bit maps in the print memory, thereby realizing postage indicium 400.
- a printhead assembly comprising multiple printheads is used to print the symbol in a single pass of the assembly to maintain the high efficiency of the postage franking operation.
- Fig. 7 illustrates printhead assembly 700 in accordance with the invention which includes printheads 703 and 705, which are connected and arranged (or ganged) close to each other in the assembly. As shown in Fig. 7 , the leading edge 711 of printhead 703 is aligned with the leading edge 713 of printhead 705.
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Mathematical Physics (AREA)
- Theoretical Computer Science (AREA)
- Devices For Checking Fares Or Tickets At Control Points (AREA)
Description
- The invention relates to a technique for generating multi-dimensional symbols representative of information, and more particularly to a technique for franking postage indicia incorporating such symbols representative of postal information.
- Communications of information, e.g., via email, telephone, mail, etc., are essential in daily life. Security and accuracy of such communications invariably are the major concerns.
- To prevent tampering or unauthorized use of communications containing vital information, cryptographic methodologies for maintaining secrecy of data communications have been developed. One such methodology is RSA cryptographic method, named after its developers, Rivest, Shamir and Adleman. For details on the RSA method, one may refer to: R. Rivest et al., "A Method for Obtaining Digital Signatures and Public Key Cryptosystems," Communications of the ACM, Vol. 21, No. 2, February 1978. The RSA method involves a public key algorithm which uses a private key for encryption of data and a public key for decryption thereof. Unlike a private key, a public key can be published and made known to the public. The keys for the RSA algorithm are generated mathematically, and are computational inverses to each other. The success of the RSA method depends on the use of very large numbers for the keys.
- In addition to providing data encryption, some cryptographic methods can be used to authenticate a message. For example, public key algorithms such as the aforementioned RSA algorithm can be used to generate a "digital signature" for verifying the origin of the message and the identity of the sender. Another algorithm known as the "Digital Signature Algorithm (DSA)" can be used for that purpose as well. For details on the DSA, one may refer to: "Digital Signature Standard (DSS)," FIPS PUB 186, May 19, 1994. A digital signature is distinct for each message. The sender of the message uses his/her private key to digitally sign the message, and the resulting digital signature accompanies the message. The recipient of the message uses the sender's public key to verify the digital signature. If any alteration in either the signature or message occurs, the signature does not verify.
- Information may be represented using a symbology. One such symbology comprises barcodes which may be one-dimensional or two-dimensional (2-D), and may be optically scanned to recover the information represented thereby. A 2-D barcode may be formatted in accordance with the well-known Uniform Symbology Specification PDF 417. Another symbology comprises data matrix symbols, which are formatted in accordance with the "International Symbology Specification - Data Matrix," AIM International Technical Specification, AIM International, Inc., 1996 (hereinafter the "Data Matrix specification"), and may also be optically scanned to recover the information represented thereby.
- As is well known, a data matrix symbol is made up of square modules or cells representing information.
Figs. 1A and 1B illustrate one such data matrix symbol (denoted 100), and its finder patterns (collectively denoted 150) defining data regions in symbol 100, respectively. As jointly shown inFigs. 1A and 1B , data matrix symbol 100 includes data regions I, II, III and IV containing square modules which are disposed in arrays. A dark module represents a first data value (e.g., binary bit "1"), and a light module represents a second data value (e.g., binary bit "0"). Symbol 100 is typically square in shape, and the number of rows (or number of columns) of the modules, and thus its size, increases with the amount of data represented thereby. Symbol 100 also includes codewords for checking and correcting errors in the data after its communication, thereby affording accuracy of the communicated data. For example, symbol 100 is of the type of the so-called "error checking and correcting (ECC) 200" data matrix symbol, and the codewords therein are generated in accordance with the well-known Reed-Solomon error correction technique. - Each data region in symbol 100 is surrounded by a finder pattern which is one module wide. For example, the finder pattern for data region I consists of
solid arrays broken arrays solid arrays broken arrays - Because of the ubiquitous presence of computers, in particular, personal computers (PCs), it is anticipated that use of a general purpose computer, in lieu of a specialized postage meter, to frank or print postage indicia serving as a proof of postage on mailpieces is imminent. To deter printing of unauthorized postage, the postage indicium applied on a mailpiece includes postal information which is digitally signed, and thereby can be authenticated by a postal authority when the mailpiece is processed. To facilitate the mail processing, the indicium includes a machine readable portion including a 2-D symbol, e.g., a 2-D barcode, readable by an optical scanner.
-
EP 0 686 946 A discloses a method for precompating digital tokens for later use. - Aspects of the invention are disclosed in independent claims 1 and 10.
- The postage franking transaction, prior to the transaction, selected data (e.g., the postage to be dispensed) having an unknown value is assumed using a predicted value to generate one or more candidates for at least one postal data element dependent upon the selected data. The predicted value may be statistically determined. The actual value of the selected data is subsequently compared with the predicted value. If the actual value matches the predicted value, the candidate corresponding to the predicted value is adopted during the transaction.
- Other ways to expedite the franking transaction include computing at least part of a digital signature for authenticating the postal data elements represented by the postage indicium prior to the franking transaction. Where the size of a symbol in the machine readable portion of the postage indicium exceeds the print coverage of a single printhead in a printer, a print assembly in accordance with the invention which includes multiple printheads is used to print the symbol or its equivalent, thereby effectively communicating the data represented by the symbol in a single pass of the print assembly, as opposed to multiple passes required of the single printhead.
- Further objects, features and advantages of the invention will become apparent from the following detailed description taken in conjunction with the accompanying drawing, in which:
-
Figs. 1A and 1B illustrate a prior art data matrix symbol and its finder patterns, respectively; -
Fig. 2 is a block diagram of a mailing system in accordance with the invention; -
Fig. 3 is a block diagram of a postal security device used in the mailing system ofFig. 1 ; -
Fig. 4 illustrates a postage indicium generated by the mailing system ofFig. 1 ; -
Fig. 5A is a flow chart depicting a subroutine for generating a part of the postage indicium ofFig. 4 ; -
Figs. 5B and5C are flow charts jointly depicting a main routine for generating the postage indicium ofFig. 4 ; -
Fig. 6 illustrates a segmented data matrix symbol in accordance with the invention; -
Fig. 7 illustrates a printhead assembly for generating the symbol ofFig. 6 ; and -
Fig. 8 illustrates a second, segmented data matrix symbol in accordance with the invention. - Throughout the figures of the drawing, the same reference numerals and characters are used to denote like features, elements, components or portions of the illustrated system.
-
Fig. 2 illustratesmailing system 201 embodying the principles of the invention for franking postage onto a given medium, e.g., a mailpiece, tape, etc. As shown inFig. 2 ,system 201 includeshost device 250, postal security device (PSD) 280 andprinter 290.System 201 may be configured as an "open system," wherehost device 250 comprises a personal computer (PC), workstation or general purpose computing machine, andPSD 280 andprinter 290 serve as peripherals tohost device 250.System 201 may alternatively be configured as a "closed system," wherehost device 250 andprinter 290 are dedicated to the postage franking operation and typically enclosed in the same casing, and wherePSD 280 may or may not be enclosed therein. - Without loss of generality, in this illustrative embodiment,
system 201 is configured as a closed system. Central tohost device 250 isprocessor 255 which is programmed to, among other things, communicate and process data to effect postage franking in accordance with the invention.Device 250 is connected throughprinter interface 269 toprinter 290 for controllably printing postage indicia onto a given medium, which serve as a proof of postage.Printer 290 may incorporate well known laser, thermo transfer or inkjet technology.Device 250 also includescommunications circuitry 261,serial interfaces interface 267,user interface 271,clock circuitry 272 andmemory 273.Communications circuitry 261 includes conventional modem circuitry for establishing connections to communication networks, e.g., the Internet.Serial interfaces Interface 267 in this instance is used for connection withPSD 280 which is realized as an integrated circuit (IC) card or a "smart" module peripheral todevice 250, anduser interface 271 for connection with a keypad (not shown), a display (not shown) and/or an indicator device such as a mouse (not shown) for user inputs.Clock circuitry 272 keeps track of the current date and time forsystem 201.Memory 273 is used to store data and program routines for instructingprocessor 255 to perform various functions. One such program routine may be a postage franking routine described below for instructingprocessor 255 to carry out the postage franking operation in accordance with the invention. - Referring to
Fig. 3 ,PSD 280 includes PCMCIA and/or serial (PCMCIA/serial)interface 301 for interfacing with and insertion intohost device 250,cryptographic processor 305, andsecure memory 307. The components inPSD 280 may be realized using a chip set of the type of the NETARMOR VMS310 chip set manufactured by VLSI Technology, Inc, or alternatively the chip set typified by smart card technology. -
Secure memory 307 which is a nonvolatile memory includes a descending register and an ascending register. In a conventional manner, the descending register is used to keep track of an amount of postage available for dispensation. On the other hand, the ascending register is used to keep track of an amount of postage dispensed. When the value of the descending register decreases over time below a predetermined limit,system 201 can no longer dispense postage until the descending register is reset. Such a reset may be achieved by way of electronic funds transfer via a dial-up connection with a computerized central facility usingcommunications circuitry 261, in accordance with a well-known telemeter setting (TMS) technique. -
Secure memory 307 also includes a well known digital signature algorithm (DSA), a private key and the corresponding public key in accordance with the DSA. The public key may be made available to the public, in a PSD certificate. For instance, using the DSA,cryptographic processor 305 may sign specified postal data with the private key to generate a digital signature to be included in a postage indicium. The PSD certificate containing the public key may also be provided in the indicium for the postal authority to verify the digital signature to authenticate the postage indicium. -
Fig. 4 illustratespostage indicium 400 which serves as a proof of postage and is generated bysystem 201 in accordance with the invention.Indicium 400 includes humanreadable portion 405 and machinereadable portion 410.Portion 405 may include information concerning the date of mailing, postage, device ID, origination town and zip code, mail class, etc. Machinereadable portion 410 may include one or more symbols representing the postal data required by the postal authority, and the digital signature for authenticating the indicium as mentioned before. In this particular illustrative embodiment,portion 410 includes multiple symbols, e.g.,data matrix symbols system 201, ascending register value, postage, digital signature, date of mailing, originating address licensing zip code, software ID which identifies application software including the aforementioned postage franking routine insystem 201, descending register value, PSD certificate, mail class (or rate category), etc. - To expedite each postage franking transaction especially where
system 201 needs to handle a high volume of mailpieces, the machine readable portion of a postage indicium which includes at least one symbol is printed in a pipeline fashion in accordance with the invention. That is, in printing the symbol, as soon as new information concerning a bit map for the print image of the symbol is made available,printer 290 utilizes such information to realize the symbol as much as possible. To facilitate the pipeline operation, the layout of the bit map is designed in such a way that the leading portion of the bit map corresponds to those postal data which can be determined without regard to any subsequent postal data, which correspond to the remaining part of the bit map. To that end,processor 255 arranges the postal data to be represented in such an order that those postal data (e.g., the ascending and descending register values) which need to be determined based on other postal data (e.g., the postage) are disposed after such other postal data in the bit map representation, thereby obviating the need to modify the bit map as it is being laid out and made available toprinter 290 for printing. - We have recognized that of the required postal data, some data elements such as the device ID, originating address licensing zip code, software ID and PSD certificate are invariable with respect to
system 201, and some other data elements such as the date of mailing are invariable over a period of time, e.g., 24 hours, and the remaining data elements such as the ascending register value, postage, descending register value and mail class may vary from one franking transaction to another. - Thus, in particular, the invention embraces the approach where a single symbol may be used in the machine readable portion to represent a combination of invariable and variable postal data elements, with the invariable postal data elements processed first and represented by the leading portion of the symbol, followed by the variable postal data elements represented by the remaining portion of the same symbol, as the invariable postal data elements are independent of the subsequent, variable postal data elements.
- The invention also embraces a multi-symbol approach where as illustrated in
Fig. 4 , machinereadable portion 410 includes at least two symbols, e.g.,data matrix symbols - However,
data matrix symbol 415 represents those postal data elements which are invariable over at least a period of time. For example, in addition to the invariable postal data elements such as the device ID, originating address licensing zip code, software ID and PSD certificate,data matrix symbol 415 also represents the date of mailing which changes daily. Notwithstanding such,symbol 415 needs to be created only once per day with the current mailing date and is then set in a print memory for printing in each franking transaction for the rest of the day. Thus, the creation ofsymbol 415 does not consume real time during the franking transaction. On the other hand, the creation ofsymbol 420 representing the remaining postal data elements which may vary from transaction to transaction consumes real time. - Similarly, human
readable portion 405 can be divided into two parts, namely, a "fixed" part including, e.g., information concerning the origination town and zip code, device ID and date of mailing which is invariable over at least a period of time; and a "variable" part including, e.g., information concerning the postage and mail class which may vary from transaction to transaction. The fixed part may be preset in the print memory for printing, and the variable part may be created in real time when the transaction occurs. - We have recognized certain advantages of the multi-symbol approach over the aforementioned single symbol approach. As mentioned before, each data matrix symbol includes error correction codewords to help ensure scanning success of the communication of the data represented thereby. In the multi-symbol approach, the computation of the error correction codewords for
symbol 415 representing invariable postal data elements is completed prior to the franking transaction and does not consume real time of the transaction. However, the computation of the error correction codewords forsymbol 420, which represents variable postal data elements and is created during the franking transaction, consumes real time. So does the computation of the error correction codewords for a single symbol representing both variable and invariable postal data elements in the single symbol approach. Nevertheless, the computation of the codewords forsymbol 420 in the multi-symbol approach is simpler as the codewords afford error protection to fewer data elements than that for a single symbol in the single symbol approach. As a result, the multi-symbol approach is more real-time efficient in computing error correction codewords. - Other advantages of the multi-symbol approach over the single symbol approach include the versatile adaptability of multiple symbols into the required space of machine
readable portion 410. For example,data matrix symbols symbols symbols - Regardless of whether a single symbol or multiple symbols are used to represent the required postal data elements, because of the manipulation of the order of the postal data elements, e.g., invariable postal data elements followed by the variable postal data elements, in accordance with the invention, the sequence of the postal data elements represented by the single symbol or multiple symbols when read may not match the sequence expected by the postal authority. If that is the case, each postal data element represented by the single symbol or multiple symbols may be preceded by a field identifier indicating the order of the data element with respect to the sequence expected by the postal authority.
-
Figs. 5A ,5B and5C illustrate the aforementioned postage franking routine in accordance with the invention. This routine includes (a)subroutine 503 inFig. 5A for generating fixeddata matrix symbol 415 and the fixed part of humanreadable portion 405, representative of those postal data elements which are unaffected by franking transactions, and (b)main routine 550 inFigs. 5B and5C forfranking postage indicium 400, including generating variabledata matrix symbol 420 and the variable part of humanreadable portion 405, representative of the remaining postal data elements which may vary from one franking transaction to another. - Instructed by
subroutine 503 inFig. 5A ,processor 255 insystem 201 detects any interrupt concerning a change in the date of mailing which is a required postal data element forpostage indicium 400, as indicated atstep 513. Such an interrupt may be automatically generated byclock circuitry 272 at the beginning of each day, or caused by other date change mechanisms or by a user input adjusting the mailing date throughuser interface 271. When such an interrupt is detected,processor 255 atstep 516 assembles the data concerning the new mailing date and other invariable postal data elements corresponding to fixeddata matrix symbol 415 which are pre-stored inmemory 273. Atstep 519,processor 255 computes the error correction codewords for the assembled data in accordance with a well known error correction technique, e.g., the Reed-Solomon error correction technique.Processor 255 atstep 521 then prepares a bit map for a print image of fixedsymbol 415 representing the assembled data and error correction codewords just computed which are arranged in accordance with the Data Matrix specification.Processor 255 stores such a bit map in a print memory which may be a part ofmemory 273, as indicated atstep 523. In addition,processor 255 atstep 527 assembles data concerning the new mailing date and those invariable postal data elements corresponding to the fixed part of humanreadable portion 405. Atstep 530,processor 255 prepares a second bit map for a print image of the fixed human readable part based on the assembled data.Processor 255 atstep 533 stores the second bit map in the print memory as well. Thus, during a franking transaction,printer 290 can readily retrieve from the print memory the preset bit maps for printingdata matrix symbol 415, and the fixed part of humanreadable portion 405. - In order to fully appreciate main routine 550 involving creation of variable
data matrix symbol 420, the generation of the aforementioned digital signature which is also represented bysymbol 420 will now be described. In this illustrative embodiment, the required postal data elements represented by machinereadable portion 410 are signed in accordance with a well known cryptographic algorithm, e.g., the DSA. The resulting digital signature whose representation is included insymbol 420 is used for authentication ofpostage indicium 400. - The digital signature is composed of a first signature value "r" which is 20 bytes long, and a second signature value "s" which is also 20 bytes long. In accordance with the DSA, the generation of the signature value "r" involves generation of a random (or psuedo-random) integer "k" in each franking transaction. The value "r" is a function of the integer "k" and certain given DSA parameters, and independent of the postal data elements to be signed. However, the generation of the signature value "s" involves applying a secure hash algorithm (SHA) onto the postal data elements to be signed. One such SHA is described in "Secure Hash Standard," FIPS PUB 180-1, April 17, 1998. Specifically, the signature value "s", dependent on the values of the postal data elements to be signed, may be expressed as follows:
where "k-1" represents the multiplicative inverse of the random integer k; "M" represents the postal data elements to be signed onto which the SHA is applied; "x" represents the value of the aforementioned private key stored insecure memory 307; "r" represents the aforementioned first signature value; and "mod q" represents a standard modulus operation having a base q, which is one of the given DSA parameters. - Referring to
Fig. 5B , instructed bymain routine 550,processor 255 for each franking transaction causescryptographic processor 305 inPSD 280 to generate a random integer k, as indicated atstep 553. Based on the value of k,processor 305 atstep 557 computes the first signature value r which is independent of the values of the postal data elements to be signed, i.e., M in expression [1]. In accordance with an aspect of the invention,processor 305 atstep 561 computes temp1 = k-1 and temp2 = xr in expression [1] even before knowing the actual mail class and postage to be dispensed which, however, affects only M, and thus SHA(M), thereby gaining some time to compute the second signature value s before such actual mail class and postage become known. - In accordance with another aspect of the invention,
processor 305 further pre-computes candidates of the second signature value s based on one or more predicted mail classes and postage values to be dispensed, as indicated atstep 564. Such predicted mail classes and postage values are formed in pairs based on statistics concerning past usage of mail classes and postage. In this example,system 201 uses three predicted mail class/postage pairs, which are the last mail class and postage actually dispensed bysystem 201, and the two most statistically likely mail class/postage pairs, e.g., first class mail/32¢ and first class mail/55¢, where 32¢ and 55¢ correspond to the two lowest weight limits of the first class mail. Once the unknown mail class and postage to be dispensed is assumed to be a prediction thereof, all of the variable postal data elements including the postage, ascending register value, descending register value and mail class are defined. Accordingly, M in expression [1], which represents all of the required postal data elements represented by machinereadable portion 410, including the variable postal data elements, is also defined. In this instance,processor 305 pre-computes three "s" candidates corresponding to the respective predictions in accordance with expression [1]. - As soon as
processor 255 detects the actual mail class and postage entry by a user throughuser interface 271,processor 255 determines whether the actual postage and mail class just entered match any of the predictions, as indicated atstep 566. If it is determined that the mail class and postage entry matches one of the predictions,processor 255 causesprocessor 305 to select the "s" candidate corresponding to the matched prediction for use as the actual second signature value, as indicated atstep 569, thereby expediting the postage franking transaction. Otherwise, if it is determined that the mail class and postage entry does not match any prediction,processor 255 causesprocessor 305 to compute the actual second signature value based on the mail class and postage entry, and the pre-computed temp1 and temp2 above, in accordance with expression [1], as indicated atstep 571. - As previously mentioned, the franking operation is performed by
system 201 pursuant to the inventive pipeline approach. With the bit map of fixedsymbol 415 preset in the print memory as described before, as soon asprocessor 255 detects a signal (e.g., from a conventional mail feeder (not shown) connected tosystem 201, or user interface 271) requesting printing of a postage indicium, say,indicium 400, corresponding to the aforementioned mail class and postage entry,processor 255 causesprinter 290 to start printing fixedsymbol 415 advantageously without latency, as indicated atstep 572. - While
symbol 415 is being printed,processor 255 is creatingvariable symbol 420 and the variable part of humanreadable portion 405, taking advantage of the print time forsymbol 415. Specifically, referring toFig. 5C ,processor 255 atstep 573 causescryptographic processor 305 to provide thereto (a) the ascending register value and (b) the descending register value, taking into account the current dispensed postage, and (c) the digital signature which is composed of the aforementioned first signature value fromstep 557 and second signature value fromstep 569 orstep 571. Atstep 576,processor 255 computes error correction codewords for the digital signature and the variable postal data elements including the postage, mail class, and ascending and descending register values received byprocessor 255, in accordance with a well known error correction technique, e.g., the Reed-Solomon error correction technique. Atstep 579,processor 255 prepares a bit map for a print image ofvariable symbol 420 representing such digital signature, variable postal data elements and error correction codewords which are arranged in accordance with the Data Matrix specification. Atstep 581,processor 255 transfers the resulting bit map to the print memory. - In addition,
processor 255 atstep 583 prepares another bit map for a print image of the variable part of humanreadable portion 405 including the dispensed postage and mail class. Atstep 585,processor 255 transfers the resulting bit map to the print memory as well. As soon as fixedsymbol 415 is printed, atstep 587,processor 255 causesprinter 290 to start printingsymbol 420, followed by humanreadable portion 405, based on the respective bit maps in the print memory, thereby realizingpostage indicium 400. - As mentioned before, the use of additional data matrix symbols to represent the same amount of data enables one to reduce the size of individual symbols. However, in the event that the number of symbols used is limited, and the size of at least one of the symbols is larger than the print coverage of a printhead (not shown) of
printer 290, the oversize symbol cannot be printed in a single pass of the printhead, incurring at least a second pass thereof to complete the oversize symbol. Such multiple passes of the printhead, versus a single pass thereof, to realize machinereadable portion 410 undesirably reduce significantly the speed of the postage franking operation. - Referring back to
Figs. 1A and 1B , as described before, a data matrix symbol, e.g, data matrix symbol 100, includes four finder patterns (collectively denoted 150) for data regions I, II, III and IV, respectively. We have recognized that if data matrix symbol 100 is oversize and needs to be divided into segments for printing in a manner described below, an innocuous way to divide it is to separate data regions I and II from regions III and IV bysolid arrays Fig. 6 illustrates the resulting segmented data matrix symbol, denoted 600. As shown inFig. 6 ,symbol 600 includesupper symbol segment 610 andlower symbol segment 620. Except forsolid arrays symbol 600 and are replaced by an inter-segment gap having a width G, which is exaggerated for illustrative purposes, symbol 100 is identical tosymbol 600. In any event, the missingsolid arrays symbol 600, even with its inter-segment gap narrower than G, is equivalent to symbol 100. - In accordance with the invention, in printing an oversize data matrix symbol, a printhead assembly comprising multiple printheads is used to print the symbol in a single pass of the assembly to maintain the high efficiency of the postage franking operation.
Fig. 7 illustratesprinthead assembly 700 in accordance with the invention which includesprintheads Fig. 7 , theleading edge 711 ofprinthead 703 is aligned with theleading edge 713 ofprinthead 705.Assembly 700 is controlled byprinter 290 to print in direction A to realize an oversize data matrix symbol, say, symbol 100, where the length of the symbol is longer than each of the length y1 of the print coverage byprinthead 703 and the length y2 of the print coverage byprinthead 705. - In practice, in
assembly 700printhead 703 is inevitably separated fromprinthead 705 by a separation. Without sacrificing the data integrity of oversize symbol 100, in accordance with the invention,assembly 700 generates a version ofsymbol 600, instead, which is equivalent to symbol 100. Specifically,printhead 703 controllablyprints symbol segment 610 whileprinthead 705 controllablyprints symbol segment 620, with the width of the otherwisesolid arrays printheads printheads Fig. 6 , and is denoted G', which is also exaggerated inFig. 7 . In effect, gap G is provided to compensate for mechanical tolerance and the alignment ofprintheads - It should be noted at this point that in accordance with the Data Matrix specification, each data matrix symbol can be realized in either a "dark on light" format or a "light on dark" format, representing identical information including the finder patterns. For example, symbol 100 is illustrated in
Fig. 1 in a "dark on light" format. Its "light on dark" counterpart has each light module in symbol 100 become a dark module and conversely each dark module become a light module. In particular, the solid arrays in the "light on dark" counterpart consists of light modules or blanks. As such,print assembly 700 is particularly advantageous to realize data matrix symbols in the "light on dark" format, with the separation G' betweenprintheads - Similarly,
printhead assembly 700 may also be used to print an oversize human readable portion, although the data integrity there is much less susceptible to any misalignment ofprintheads -
Fig. 8 illustrates another segmenteddata matrix symbol 800 equivalent to oversize symbol 100.Symbol 800 is designed for those printers which print in direction B, as opposed to direction A inFig. 7 . Similarly, the printhead assembly (not shown) for generating a version ofsymbol 800 includes first and second printheads separated from each other by a separation G'. The first printhead controllably printssymbol segment 810 and the second printhead controllably printssymbol segment 820, with the separation G' falling within gap G (also exaggerated for illustrative purposes) ofsymbol 800, where gap G coincides with the otherwise solid arrays of oversize symbol 100. - The foregoing merely illustrates the principles of the invention. It will thus be appreciated that those skilled in the art will be able to devise various modifications or alterations which, although different from the exemplary embodiments described herein, are within the scope as defined by the appended claims.
- For example, in the disclosed embodiment, data matrix symbols are used to illustrate the principles of the invention. However, it will be appreciated that other barcodes such as PDF 417 barcodes, or other similar segmenting image presentations, stacked codes or symbols representative of information may be used, instead, to implement the invention.
- In addition, in the disclosed embodiment, the bit map for a print image representing data is illustratively generated in
host device 250. However, it will be appreciated that alternatively the data will be provided bydevice 250 in the form of image vectors toprinter 290, in accordance with a printer protocol or printer control language.Printer 290 will then generate the bit map based on the received image vectors. - Moreover, in the disclosed embodiment, machine
readable portion 410 illustratively includes multiple symbols which are readable by a scanner. It will be appreciated that in accord with the invention, the multiple symbols as a whole will be scanned only once by the scanner, and the presence of the multiple symbols will be recognized by the single pass of the scan. The scanner will then decode each individual symbol to recover the postal information represented thereby. - Finally, the illustrative embodiment of the invention is disclosed herein in a form in which the various data processing functions are performed by discrete functional blocks. These functional blocks may be implemented in various ways and combinations using logic circuitry and/or appropriately programmed processors, as will be known to those skilled in the art.
Claims (18)
- A method for printing a postage indicium (400), comprising:prior to receiving a request to print the postage indicium (400):precomputing a code for authenticating the postage indicium (400) based on a predicted value of variable postal data;after receiving the request to print the postage indicium (400):determining an actual value of the variable postal data for a piece of mail; andif the actual value matches the predicted value, then printing the postage indicium (400) based on the precomputed code.
- The method of claim 1, wherein if the actual value does not match the predicted value, then computing a code for authenticating the postage indicium (400) based on the actual value of the variable postal data (405) and printing the postage indicium (400) based on the computed code for the actual value.
- The method of claim 2, further comprising computing the code for the actual value based on a portion of computation results generated when computing the code for the predicted value.
- The method of claim 1, wherein precomputing comprises computing the code based on a digital signature algorithm.
- The method of claim 1, further comprising statistically determining the predicted value of the variable postal data (405).
- The method of claim 1, further comprising determining the predicted value of the variable postal data (405) based on an actual value of the variable postal data from an immediately prior franking transaction.
- The method of claim 1, wherein the predicted value of the variable postal data (405) comprises a postage value.
- The method of claim 1, wherein the predicted value of the variable postal data (405) comprises a class of mail.
- The method of claim 1, further comprising calculating a portion of the postage indidum (400) based upon invariable postal data prior to receiving the request to print the postage indicium (400).
- A mailing system (201) to print a postage indicium, comprising:a postal security device (280) to precompute a code for authenticating the postage indicium (400) based on a predicted value of variable postal data element (405) prior to receiving a request to print the postage indicium (400);a processor (255) to determine an actual value of the variable postal data element (405) for a piece of mail;a printer (290) to print the postage indicium (400) based on the precomputed code if the actual value matches the predicted value.
- The system of claim 10, wherein if the actual value does not match the predicted value, then the postal security device (280) computes a code for authenticating the postage indicium (400) based on the actual value of the variable postal data (405) and the printer (290) prints the postage indicium (400) based on the computed code for the actual value.
- The system of claim 11, wherein the postal security device (280) computes the code for the actual value based on a portion of computation results generated when computing the code for the predicted value.
- The system of claim 10, wherein the postal security device (280) computes the precomputed code based on a digital signature algorithm.
- The system of claim 10, wherein the processor statistically determines the predicted value of the variable postal data (405).
- The system of claim 10, wherein the processor (255) determines the predicted value of the variable postal data (405) based on an actual value of the variable postal data from an immediately prior franking transaction.
- The system of claim 10, wherein the predicted value of the variable postal data (405) comprises a postage value.
- The system of claim 10, wherein the predicted value of the variable postal data (405) comprises a class of mail.
- The system of claim 10, wherein the processor calculates a portion of the postage indicium (400) based upon invariable postal data prior to receiving the request to print the postage indicium (400).
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US5948697P | 1997-09-22 | 1997-09-22 | |
EP98949390A EP0944878A4 (en) | 1997-09-22 | 1998-09-21 | Technique for effectively generating multi-dimensional symbols representing postal information |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP98949390A Division EP0944878A4 (en) | 1997-09-22 | 1998-09-21 | Technique for effectively generating multi-dimensional symbols representing postal information |
Publications (2)
Publication Number | Publication Date |
---|---|
EP1777660A1 EP1777660A1 (en) | 2007-04-25 |
EP1777660B1 true EP1777660B1 (en) | 2008-12-10 |
Family
ID=37766679
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP06127012A Expired - Lifetime EP1777660B1 (en) | 1997-09-22 | 1998-09-21 | Technique for precomputing codes based on a predicition |
Country Status (1)
Country | Link |
---|---|
EP (1) | EP1777660B1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2931977A1 (en) * | 2008-06-03 | 2009-12-04 | Neopost Technologies | POSTAGE METHOD BASED ON MAIL CATEGORY |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3877531A (en) * | 1974-06-05 | 1975-04-15 | Pitney Bowes Inc | Automatic continuous mail handling system |
US4742878A (en) * | 1986-09-19 | 1988-05-10 | Pitney Bowes Inc. | Weighing module |
US5053609A (en) * | 1988-05-05 | 1991-10-01 | International Data Matrix, Inc. | Dynamically variable machine readable binary code and method for reading and producing thereof |
FR2700043B1 (en) * | 1992-12-30 | 1995-02-10 | Neopost Ind | Franking machine allowing to memorize a history. |
US5773806A (en) * | 1995-07-20 | 1998-06-30 | Welch Allyn, Inc. | Method and apparatus for capturing a decodable representation of a 2D bar code symbol using a hand-held reader having a 1D image sensor |
US5655023A (en) * | 1994-05-13 | 1997-08-05 | Pitney Bowes Inc. | Advanced postage payment system employing pre-computed digital tokens and with enhanced security |
US5675650A (en) * | 1995-05-02 | 1997-10-07 | Pitney Bowes Inc. | Controlled acceptance mail payment and evidencing system |
US5781438A (en) * | 1995-12-19 | 1998-07-14 | Pitney Bowes Inc. | Token generation process in an open metering system |
-
1998
- 1998-09-21 EP EP06127012A patent/EP1777660B1/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
EP1777660A1 (en) | 2007-04-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7818263B2 (en) | Technique for effectively generating multi-dimensional symbols representing postal information | |
EP0647925B1 (en) | Postal rating system with verifiable integrity | |
US6724894B1 (en) | Cryptographic device having reduced vulnerability to side-channel attack and method of operating same | |
US6886001B2 (en) | System and method for linking an indicium with address information of a mailpiece in a closed system postage meter | |
EP0360225A2 (en) | Apparatus for applying indicia in accordance with an encrypted message | |
EP0942398B1 (en) | Method and system for changing an encryption key in a mail processing system having a postage meter and a security center | |
US4888803A (en) | Method and apparatus for verifying a value for a batch of items | |
US20020083019A1 (en) | Verifying digital signatures using a postal security device | |
EP0862145A2 (en) | Security and authentication of postage indicia | |
EP1107502A2 (en) | System and method for preventing differential power analysis attacks (DPA) on a cryptographic device | |
EP0780807B1 (en) | A method of mapping destination addresses for use in calculating digital tokens | |
EP1410548B1 (en) | Postage security device having cryptographic keys with a variable key length | |
EP0840258B1 (en) | Enhanced encryption control system for a mail processing system having data center verification | |
US6188997B1 (en) | Postage metering system having currency synchronization | |
US6820065B1 (en) | System and method for management of postage meter licenses | |
CA2272595C (en) | Technique for effectively generating multi-dimensional symbols representing postal information | |
EP0782108A2 (en) | A method generating digital tokens from a subset of addressee information | |
EP1064621A1 (en) | System and method for management of postage meter licenses | |
CA2447551C (en) | Postage metering system including a printer having dual print heads | |
EP1777660B1 (en) | Technique for precomputing codes based on a predicition | |
US6711680B1 (en) | Method of limiting key usage in a postage metering system that produces cryptographically secured indicium | |
CA2451622A1 (en) | Technique for effectively generating multi-dimensional symbols representing postal information | |
Bleumer | Electronic Postage |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
AC | Divisional application: reference to earlier application |
Ref document number: 0944878 Country of ref document: EP Kind code of ref document: P |
|
AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LI LU MC NL PT SE |
|
17P | Request for examination filed |
Effective date: 20071025 |
|
17Q | First examination report despatched |
Effective date: 20071130 |
|
AKX | Designation fees paid |
Designated state(s): DE FR GB |
|
GRAP | Despatch of communication of intention to grant a patent |
Free format text: ORIGINAL CODE: EPIDOSNIGR1 |
|
RTI1 | Title (correction) |
Free format text: TECHNIQUE FOR PRECOMPUTING CODES BASED ON A PREDICITION |
|
GRAS | Grant fee paid |
Free format text: ORIGINAL CODE: EPIDOSNIGR3 |
|
GRAA | (expected) grant |
Free format text: ORIGINAL CODE: 0009210 |
|
AC | Divisional application: reference to earlier application |
Ref document number: 0944878 Country of ref document: EP Kind code of ref document: P |
|
AK | Designated contracting states |
Kind code of ref document: B1 Designated state(s): DE FR GB |
|
REG | Reference to a national code |
Ref country code: GB Ref legal event code: FG4D |
|
REF | Corresponds to: |
Ref document number: 69840352 Country of ref document: DE Date of ref document: 20090122 Kind code of ref document: P |
|
PLBE | No opposition filed within time limit |
Free format text: ORIGINAL CODE: 0009261 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT |
|
26N | No opposition filed |
Effective date: 20090911 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: DE Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20100401 |
|
REG | Reference to a national code |
Ref country code: FR Ref legal event code: PLFP Year of fee payment: 18 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: GB Payment date: 20150917 Year of fee payment: 18 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: FR Payment date: 20150922 Year of fee payment: 18 |
|
GBPC | Gb: european patent ceased through non-payment of renewal fee |
Effective date: 20160921 |
|
REG | Reference to a national code |
Ref country code: FR Ref legal event code: ST Effective date: 20170531 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: FR Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20160930 Ref country code: GB Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20160921 |