This application relates, generally, to mail tracking and, in particular, to tracking a mailed item contained in a mail piece mailed by a user based on hash values.
While a postage stamp can give a user access to the postal network, buying stamps and having them on hand when desired is less and less common, given the number of other non-postal methods for paying bills, sending greeting cards or invitations, etc. Mailing a letter or package becomes difficult for customers who are busy, having no stamp, and far from mail offices or postal services.
In addition, customers currently have very few methods to track the delivery status of mail pieces, e.g. letters, birthday cards, post cards, utility bills, charitable donations, invitations, etc. Without paying extra money for high-end tracking services or without access to a delivery service office, customers today cannot track the mail pieces or mailed items, after putting them into a mailbox.
Further, mail theft from collection boxes and personal mailboxes has increased significantly over the past few years. Criminals steal mail containing checks, alter the payee and amount, and cash them. The original payee and amounts are “washed” away, and replaced by a new payee and amount of the criminal's choice. For example, a customer mailing a check for a simple $35 utility bill may be shocked to see $4,999 stolen from her checking account. This has resulted in lack of confidence in using mail for bill payment and other financial transactions, ranging from small gift checks to utility bills, to large charitable donations and to vendor invoices.
The present teaching is directed to systems and methods for tracking a mailed item contained in a mail piece mailed by a user based on hash values.
In one embodiment, a method, implemented on a device including at least one processor and a non-transitory memory, for tracking a mailed item contained in a mail piece mailed by a user is disclosed. The method comprises: capturing, using a camera on a mobile device, an item picture of the mailed item; generating an item hash value using a hash function on the item picture; capturing, using the camera on the mobile device, a mail picture of a front side of the mail piece containing the mailed item, one or more marks being put by the user in at least one specified zone on the front side of the mail piece when the mail picture is taken; generating a mail hash value using the hash function on the mail picture; transmitting the item hash value, the mail hash value and a user identity (ID) of the user to a mail service computing device associated with a mail service configured for carrying and delivering the mail piece; and tracking the mailed item in the mail piece by monitoring one or more notifications regarding delivery status information of the mail piece from the mail service computing device. The one or more notifications regarding delivery status information of the mail piece are generated based on (i) one or more comparisons of the item hash value to other item hash values for other mail pieces, (ii) one or more comparisons of the mail hash value to other mail hash values for other mail pieces and (iii) the user ID.
In another embodiment, a system for tracking a mailed item contained in a mail piece mailed by a user is disclosed. The system comprises: a non-transitory memory having instructions stored thereon; and at least one processor operatively coupled to the non-transitory memory. The at least one processor is configured to read the instructions to: capture, using a camera on the mobile device, an item picture of the mailed item; generate an item hash value using a hash function on the item picture; capture, using the camera on the mobile device, a mail picture of a front side of the mail piece containing the mailed item, wherein one or more marks are put by the user in at least one specified zone on the front side of the mail piece when the mail picture is taken; generate a mail hash value using the hash function on the mail picture; transmit the item hash value, the mail hash value and a user identity (ID) of the user to a mail service computing device associated with a mail service configured for carrying and delivering the mail piece; and track the mailed item in the mail piece by monitoring one or more notifications regarding delivery status information of the mail piece from the mail service computing device. The one or more notifications regarding delivery status information of the mail piece are generated based on (i) one or more comparisons of the item hash value to other item hash values for other mail pieces, (ii) one or more comparisons of the mail hash value to other mail hash values for other mail pieces and (iii) the user ID.
In a different embodiment, a non-transitory computer readable medium having instructions stored thereon for tracking a mailed item contained in a mail piece mailed by a user is disclosed. The instructions, when executed by at least one processor, cause the at least one processor to perform operations comprising: capturing, using a camera on a mobile device, an item picture of the mailed item; generating an item hash value using a hash function on the item picture; capturing, using the camera on the mobile device, a mail picture of a front side of the mail piece containing the mailed item, one or more marks being put by the user in at least one specified zone on the front side of the mail piece when the mail picture is taken; generating a mail hash value using the hash function on the mail picture; transmitting the item hash value, the mail hash value and a user identity (ID) of the user to a mail service computing device associated with a mail service configured for carrying and delivering the mail piece; and tracking the mailed item in the mail piece by monitoring one or more notifications regarding delivery status information of the mail piece from the mail service computing device. The one or more notifications regarding delivery status information of the mail piece are generated based on (i) one or more comparisons of the item hash value to other item hash values for other mail pieces, (ii) one or more comparisons of the mail hash value to other mail hash values for other mail pieces and (iii) the user ID.
Reference throughout this specification to “one example,” “an example,” “one embodiment,” or “an embodiment” means that a particular feature, structure, or characteristic described in connection with the example is included in at least one example of the present technology. Thus, the occurrences of the phrases “in one example,” “in an example,” “one embodiment,” or “an embodiment” in various places throughout this specification are not necessarily all referring to the same example. Furthermore, the particular features, structures, routines, steps, or characteristics may be combined in any suitable manner in one or more examples of the technology. The headings provided herein are for convenience only and are not intended to limit or interpret the scope or meaning of the claimed technology.
In the drawings, like reference characters generally refer to the same parts throughout the different views. Also, the drawings are not necessarily to scale, with an emphasis instead generally being placed upon illustrating the principles of the present teaching. In the following description, various embodiments of the present teaching are described with reference to the following drawings, in which:
This description of the exemplary embodiments is intended to be read in connection with the accompanying drawings, which are to be considered part of the entire written description. Terms concerning data connections, coupling and the like, such as “connected” and “interconnected,” and/or “in signal communication with” refer to a relationship wherein systems or elements are electrically and/or wirelessly connected to one another either directly or indirectly through intervening systems, as well as both moveable or rigid attachments or relationships, unless expressly described otherwise. The term “operatively coupled” is such a coupling or connection that allows the pertinent structures to operate as intended by virtue of that relationship.
In the following, various embodiments are described with respect to the claimed systems as well as with respect to the claimed methods. Features, advantages or alternative embodiments herein can be assigned to the other claimed objects and vice versa. In other words, claims for the systems can be improved with features described or claimed in the context of the methods. In this case, the functional features of the method are embodied by objective units of the systems.
When a user wants to send a mail piece, e.g. a letter, a post card, a package, etc., he may have no stamp in hand, no time to go to a delivery or postal office, and no access to a label printer or stock. But at the same time, the user may just want to put the mail piece into a mailbox on street, and have a way to track the delivery status of the mail piece, especially when the mail piece contains a high or specially valued mailed item.
The present teaching discloses systems and methods for a user to track mail pieces and mailed items based on hash values, even when the user has no stamp and no access to a delivery service or postal office. In some embodiments, a disclosed system offers customers functions like paying the mailing without stamp and/or tracking the mailing. These functions are not co-dependent, which means mailing payment and tracking could be offered separately. For example, a customer uses a mobile app (e.g. an app called “Hash Tracker”) on a smartphone to uniquely mark a mail piece (e.g. on a front side of an envelope) to be mailed and take a photograph or picture of the marked mail piece. The photo would then be hashed and sent to a mail service associated with the app. The mail service would then compare that hash to other hashes of images of mail pieces it processes through normal handling of letters. By linking the hash to an identity (ID) tag of the mail piece, tracking events would be collected and made available to the customer.
In some embodiments, the Hash Tracker app leverages technologies like image lifting, ID tagging, and remote computer reading. The Hash Tracker app would benefit from a standardized hashing process or any other method for generating a hash value from an image or picture. The disclosed system using the Hash Tracker app enhances customers' confidence in mailing items using postal technology or any shipper using similar imaging technologies. For example, this is a direct enhancement to the First-Class Mail service provided by the United States Postal Service (USPS). The Hash Tracker app or service could be offered at an added cost, as an enticement to mail more often, or for other revenue generating services. With the Hash Tracker app, fewer stamps need to be printed or sold through various non-postal channels.
In some embodiments, a customer would use a mobile app (e.g. an app called “Check Tracker”) on a smartphone to take a photograph or image of a check to be mailed. The image would be hashed and stored on the customer's phone. The stored data could then be used by the customer to challenge any altered check. If desired, the customer may also opt to track the letter containing the check, e.g. using the Hash Tracker app. The Check Tracker app can link the check hash with the envelope hash as described and would be available for research and reference by authorized law enforcement and fraud investigators. In some embodiments, the image does not leave the customer's phone in any fashion and therefore not available to the mail service.
The disclosed system using the Check Tracker app provides a method to create evidence of original items and an evidentiary trail, protecting the customer, assisting law enforcement, and establishing bank liability over altered checks, thus bolstering safety and security of the mail. This is a direct enhancement to the First-Class Mail service provided by the USPS, and in response to customer concerns about the risk of loss due to mail thefts. It could be offered as an added cost, as an enticement to mail more often, or for other revenue generating services. The Check Tracker app could make mail theft of checks less desirable due to the increased visibility and evidence. In some embodiments, the Check Tracker app can help to track not only check, but also any item mailed with concern, including e.g. bills, receipt, money order, legal documents, any item with critical numerical information, or any item with a high or special value to the customer.
In some embodiments, the Hash Tracker app and the Check Tracker app may be implemented as a same app having multiple functions. A server of the app can communicate with a delivery service or mail service responsible for mailing items for the customer. A user account of the customer is created on the app, such that the customer can pay the mail service through a pre-stored payment method, e.g. credit card, debit card, or electronic transfers. After the customer mails a piece leveraging the app, the mail service can identify the customer based on a match between: (1) a first hash value of a first image of the letter uploaded to the app by the customer, and (2) a second hash value of a second image of the letter taken by a camera of the mail service. As such, the mail service can charge the customer using the pre-stored payment method, and the customer does not need to use any stamp. In addition, the mail service will send notifications of updated delivery status of the letter to the customer through the app. As such, the customer can track the letter without being physically present in any office of the mail service.
Furthermore, in the following, various embodiments are described with respect to methods and systems for tracking mail pieces and mailed items based on hash values are disclosed. In some embodiments, a disclosed method includes: obtaining an image of the mail piece; generating a hash value of the image of the mail piece; obtaining a plurality of hash values associated with a plurality of users; determining a match between the hash value and one of the plurality of hash values; identifying, based on a result of the determining a match, a user associated with mailing of the mail piece; and providing delivery status information of the mail piece to the user.
In some embodiments, a disclosed method includes: activating a camera on the device to take a first picture of the mailed item; applying a hash function to the first picture to generate a first hash value; instructing the user to put handwriting in at least one specified zone on a front side of a mail piece containing the mailed item; activating the camera on the device to take a second picture of the front side of the mail piece; and applying the hash function to the second picture to generate a second hash value.
Turning to the drawings,
In some examples, each of the mail tracking device 102 and the processing device(s) 120 can be a computer, a workstation, a laptop, a server such as a cloud-based server, or any other suitable device. In some examples, each of the processing devices 120 is a server that includes one or more processing units, such as one or more graphical processing units (GPUs), one or more central processing units (CPUs), and/or one or more processing cores. Each processing device 120 may, in some examples, execute one or more virtual machines. In some examples, processing resources (e.g., capabilities) of the one or more processing devices 120 are offered as a cloud-based service (e.g., cloud computing). For example, the cloud-based engine 121 may offer computing and storage resources of the one or more processing devices 120 to the mail tracking device 102.
In some examples, each of the multiple user computing devices 110, 112, 114 can be a cellular phone, a smart phone, a tablet, a personal assistant device, a voice assistant device, a digital assistant, a laptop, a computer, or any other suitable device. In some examples, the server 104 hosts an app or software that delivers an application through a communication protocol to provide services, e.g. mailing services. In some examples, the mail tracking device 102, the processing devices 120, and/or the server 104 are operated by a mail service company. The multiple user computing devices 110, 112, 114 may be operated by customers or users associated with the app. In some examples, the processing devices 120 are operated by a third party (e.g., a cloud-computing provider).
The mail processing system 109 is operably coupled to the communication network 118, e.g. via a router (or switch). The mail processing system 109 may be located at a postal office or any mail service office. The mail processing system 109 can communicate with the mail tracking device 102 over the communication network 118. The mail processing system 109 may send data to, and receive data from, the mail tracking device 102. For example, the mail processing system 109 may transmit an image of a letter to the mail tracking device 102 for identifying a customer mailing the letter.
Although
The communication network 118 can be a WiFi® network, a cellular network such as a 3GPP® network, a Bluetooth® network, a satellite network, a wireless local area network (LAN), a network utilizing radio-frequency (RF) communication protocols, a Near Field Communication (NFC) network, a wireless Metropolitan Area Network (MAN) connecting multiple wireless LANs, a wide area network (WAN), or any other suitable network. The communication network 118 can provide access to, for example, the Internet.
In some embodiments, each of the first user computing device 110, the second user computing device 112, and the Nth user computing device 114 may communicate with the server 104 over the communication network 118. For example, each of the multiple computing devices 110, 112, 114 may be operable to view, access, and interact with an app, e.g. a mail service app hosted by the server 104. The server 104 may transmit user account information (e.g. payment method) and mail tracking information (e.g. hash values generated from mail images) to the mail processing system 109 and/or the mail tracking device 102.
In some examples, a customer may operate one of the user computing devices 110, 112, 114 to log into an app served by the server 104, for sending a mail piece, e.g. a letter, via a mail service. The customer may, via the app, view functions and services provided by the mail service, and choose a corresponding function to proceed. The app allows the customer to create a user account, and store user information, home address and/or some payment methods associated with the user account. The customer can pay the mail service using a pre-stored payment method, without using any stamp (e.g., without affixing a pre-paid stamp to the mail piece). The app may provide a mail tracking service to the customer, for tracking the mail piece based on a hash value generated from an image of the mail piece. For example, the app instructs the customer to hand write or print some specific or unique mark on the mail piece such as a letter and take a picture of the marked letter. The app can generate a hash value of the picture and store the hash value on the user computing device of the customer. In addition, the user computing device can share the hash value with the server 104, which may further transmit the hash value to the mail service for tracking the letter. For example, the server 104 may send the hash value in association with the customer's user ID to the mail tracking device 102, the mail processing system 109, and/or the database 116.
In some embodiments, the mail tracking device 102 may obtain, e.g. via the server 104 or a database associated with the server 104, a plurality of hash values generated from images of mail pieces, including the hash value of the letter picture of the customer. In addition, while the letter is being processed by the mail processing system 109, an additional picture of the letter is taken by a camera in the mail processing system 109 and the additional picture is provided to the mail tracking device 102. Based on the additional picture, the mail tracking device 102 may generate a candidate hash value and compare the candidate hash value with the plurality of hash values to determine whether there is a match. In this example, the mail tracking device 102 would determine a match between the candidate hash value and the hash value of the letter picture of the customer. As such, the mail tracking device 102 can identify the customer by the user ID associated with the hash value of the letter picture of the customer, and allow the mail service to charge the customer based on some pre-stored payment method.
In addition, the mail processing system 109 may attach or spray an ID tag on the letter, in association with the candidate hash value. After the mail tracking device 102 identifies the customer who mailed the letter, the letter will be tracked based on the ID tag to determine updated delivery status, which may be sent as notifications to the customer via the app.
Each of the mail tracking device 102, the server 104 and the mail processing system 109 is operable to communicate with the database 116 over the communication network 118, and can store data to and read data from the database 116. For example, the server 104 can store hash values generated by the app in the database 116; the mail tracking device 102 can read hash values stored in the app; and the mail processing system 109 may update delivery event data in the database 116. The database 116 can be a remote storage device, such as a cloud-based server, a disk (e.g., a hard disk), a memory device on another application server, a networked computer, or any other suitable remote storage. Although shown remote to the mail tracking device 102, the server 104 and the mail processing system 109, in some examples, the database 116 or some sub-database in the database 116 can be a local storage device, such as a hard drive, a non-volatile memory, or a USB stick of the mail tracking device 102, the server 104 or the mail processing system 109.
In some examples, the mail tracking device 102 may execute one or more models (e.g., algorithms), such as a machine learning model, deep learning model, statistical model, etc., to track mail pieces. For example, the mail tracking device 102 may use a machine learning model to generate a hash value of an image of a mail piece. The models, when executed by the mail tracking device 102, allow the mail tracking device 102 to generate accurate hash values and distinguish pictures of different mail pieces based on different corresponding hash values. In some examples, the mail tracking device 102 assigns the models (or parts thereof) for execution to one or more processing devices 120. For example, each model may be assigned to a virtual machine hosted by a processing device 120. The virtual machine may cause the models or parts thereof to execute on one or more processing units such as GPUs. In some examples, the virtual machines assign each model (or part thereof) among a plurality of processing units. Based on the output of the models, the mail tracking device 102 may generate hash values for tracking mail pieces.
As shown in
The one or more processors 201 can include any processing circuitry operable to control operations of the mail tracking device 102. In some embodiments, the one or more processors 201 include one or more distinct processors, each having one or more cores (e.g., processing circuits). Each of the distinct processors can have the same or different structure. The one or more processors 201 can include one or more central processing units (CPUs), one or more graphics processing units (GPUs), application specific integrated circuits (ASICs), digital signal processors (DSPs), a chip multiprocessor (CMP), a network processor, an input/output (I/O) processor, a media access control (MAC) processor, a radio baseband processor, a co-processor, a microprocessor such as a complex instruction set computer (CISC) microprocessor, a reduced instruction set computing (RISC) microprocessor, and/or a very long instruction word (VLIW) microprocessor, or other processing device. The one or more processors 201 may also be implemented by a controller, a microcontroller, an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), a programmable logic device (PLD), etc.
In some embodiments, the one or more processors 201 are configured to implement an operating system (OS) and/or various applications. Examples of an OS include, for example, operating systems generally known under various trade names such as Apple macOS™, Microsoft Windows™, Android™, Linux™, and/or any other proprietary or open-source OS. Examples of applications include, for example, network applications, local applications, data input/output applications, user interaction applications, etc.
The instruction memory 207 can store instructions that can be accessed (e.g., read) and executed by at least one of the one or more processors 201. For example, the instruction memory 207 can be a non-transitory, computer-readable storage medium such as a read-only memory (ROM), an electrically erasable programmable read-only memory (EEPROM), flash memory (e.g. NOR and/or NAND flash memory), content addressable memory (CAM), polymer memory (e.g., ferroelectric polymer memory), phase-change memory (e.g., ovonic memory), ferroelectric memory, silicon-oxide-nitride-oxide-silicon (SONOS) memory, a removable disk, CD-ROM, any non-volatile memory, or any other suitable memory. The one or more processors 201 can be configured to perform a certain function or operation by executing code, stored on the instruction memory 207, embodying the function or operation. For example, the one or more processors 201 can be configured to execute code stored in the instruction memory 207 to perform one or more of any function, method, or operation disclosed herein.
Additionally, the one or more processors 201 can store data to, and read data from, the working memory 202. For example, the one or more processors 201 can store a working set of instructions to the working memory 202, such as instructions loaded from the instruction memory 207. The one or more processors 201 can also use the working memory 202 to store dynamic data created during one or more operations. The working memory 202 can include, for example, random access memory (RAM) such as a static random access memory (SRAM) or dynamic random access memory (DRAM), Double-Data-Rate DRAM (DDR-RAM), synchronous DRAM (SDRAM), an EEPROM, flash memory (e.g. NOR and/or NAND flash memory), content addressable memory (CAM), polymer memory (e.g., ferroelectric polymer memory), phase-change memory (e.g., ovonic memory), ferroelectric memory, silicon-oxide-nitride-oxide-silicon (SONOS) memory, a removable disk, CD-ROM, any non-volatile memory, or any other suitable memory. Although embodiments are illustrated herein including separate instruction memory 207 and working memory 202, it will be appreciated that the mail tracking device 102 can include a single memory unit configured to operate as both instruction memory and working memory. Further, although embodiments are discussed herein including non-volatile memory, it will be appreciated that the mail tracking device 102 can include volatile memory components in addition to at least one non-volatile memory component.
In some embodiments, the instruction memory 207 and/or the working memory 202 includes an instruction set, in the form of a file for executing various methods, e.g. any method as described herein. The instruction set can be stored in any acceptable form of machine-readable instructions, including source code or various appropriate programming languages. Some examples of programming languages that can be used to store the instruction set include, but are not limited to: Java, JavaScript, C, C++, C #, Python, Objective-C, Visual Basic, .NET, HTML, CSS, SQL, NoSQL, Rust, Perl, etc. In some embodiments a compiler or interpreter is configured to convert the instruction set into machine executable code for execution by the one or more processors 201.
The input-output devices 203 can include any suitable device that allows for data input or output. For example, the input-output devices 203 can include one or more of a keyboard, a touchpad, a mouse, a stylus, a touchscreen, a physical button, a speaker, a microphone, a keypad, a click wheel, a motion sensor, a camera, and/or any other suitable input or output device.
The transceiver 204 and/or the communication port(s) 209 allow for communication with a network, such as the communication network 118 of
The communication port(s) 209 may include any suitable hardware, software, and/or combination of hardware and software that is capable of coupling the mail tracking device 102 to one or more networks and/or additional devices. The communication port(s) 209 can be arranged to operate with any suitable technique for controlling information signals using a desired set of communications protocols, services, or operating procedures. The communication port(s) 209 can include the appropriate physical connectors to connect with a corresponding communications medium, whether wired or wireless, for example, a serial port such as a universal asynchronous receiver/transmitter (UART) connection, a Universal Serial Bus (USB) connection, or any other suitable communication port or connection. In some embodiments, the communication port(s) 209 allows for the programming of executable instructions in the instruction memory 207. In some embodiments, the communication port(s) 209 allow for the transfer (e.g., uploading or downloading) of data, such as machine learning model training data.
In some embodiments, the communication port(s) 209 are configured to couple the mail tracking device 102 to a network. The network can include local area networks (LAN) as well as wide area networks (WAN) including without limitation Internet, wired channels, wireless channels, communication devices including telephones, computers, wire, radio, optical and/or other electromagnetic channels, and combinations thereof, including other devices and/or components capable of/associated with communicating data. For example, the communication environments can include in-body communications, various devices, and various modes of communications such as wireless communications, wired communications, and combinations of the same.
In some embodiments, the transceiver 204 and/or the communication port(s) 209 are configured to utilize one or more communication protocols. Examples of wired protocols can include, but are not limited to, Universal Serial Bus (USB) communication, RS-232, RS-422, RS-423, RS-485 serial protocols, Fire Wire, Ethernet, Fibre Channel, MIDI, ATA, Serial ATA, PCI Express, T-1 (and variants), Industry Standard Architecture (ISA) parallel communication, Small Computer System Interface (SCSI) communication, or Peripheral Component Interconnect (PCI) communication, etc. Examples of wireless protocols can include, but are not limited to, the Institute of Electrical and Electronics Engineers (IEEE) 802.xx series of protocols, such as IEEE 802.11a/b/g/n/ac/ag/ax/be, IEEE 802.16, IEEE 802.20, GSM cellular radiotelephone system protocols with GPRS, CDMA cellular radiotelephone communication systems with 1xRTT, EDGE systems, EV-DO systems, EV-DV systems, HSDPA systems, Wi-Fi Legacy, Wi-Fi 1/2/3/4/5/6/6E, wireless personal area network (PAN) protocols, Bluetooth Specification versions 5.0, 6, 7, legacy Bluetooth protocols, passive or active radio-frequency identification (RFID) protocols, Ultra-Wide Band (UWB), Digital Office (DO), Digital Home, Trusted Platform Module (TPM), ZigBee, etc.
The display 206 can be any suitable display, and may display the user interface 205. For example, the user interfaces 205 can enable user interaction with the mail tracking device 102 and/or the server 104. For example, the user interface 205 can be a user interface for an application of a network environment operator that allows a customer to view and interact with the operator's website. In some embodiments, a user can interact with the user interface 205 by engaging the input-output devices 203. In some embodiments, the display 206 can be a touchscreen, where the user interface 205 is displayed on the touchscreen.
The display 206 can include a screen such as, for example, a Liquid Crystal Display (LCD) screen, a light-emitting diode (LED) screen, an organic LED (OLED) screen, a movable display, a projection, etc. In some embodiments, the display 206 can include a coder/decoder, also known as Codecs, to convert digital media data into analog signals. For example, the visual peripheral output device can include video Codecs, audio Codecs, or any other suitable type of Codec.
The optional location device 211 may be communicatively coupled to a location network and operable to receive position data from the location network. For example, in some embodiments, the location device 211 includes a GPS device configured to receive position data identifying a latitude and longitude from one or more satellites of a GPS constellation. As another example, in some embodiments, the location device 211 is a cellular device configured to receive location data from one or more localized cellular towers. Based on the position data, the mail tracking device 102 may determine a local geographical area (e.g., town, city, state, etc.) of its position.
In some embodiments, the mail tracking device 102 is configured to implement one or more modules or engines, each of which is constructed, programmed, configured, or otherwise adapted, to autonomously carry out a function or set of functions. A module/engine can include a component or arrangement of components implemented using hardware, such as by an application specific integrated circuit (ASIC) or field-programmable gate array (FPGA), for example, or as a combination of hardware and software, such as by a microprocessor system and a set of program instructions that adapt the module/engine to implement the particular functionality, which (while being executed) transform the microprocessor system into a special-purpose device. A module/engine can also be implemented as a combination of the two, with certain functions facilitated by hardware alone, and other functions facilitated by a combination of hardware and software. In certain implementations, at least a portion, and in some cases, all, of a module/engine can be executed on the processor(s) of one or more computing platforms that are made up of hardware (e.g., one or more processors, data storage devices such as memory or drive storage, input/output facilities such as network interface devices, video devices, keyboard, mouse or touchscreen devices, etc.) that execute an operating system, system programs, and application programs, while also implementing the engine using multitasking, multithreading, distributed (e.g., cluster, peer-peer, cloud, etc.) processing where appropriate, or other such techniques. Accordingly, each module/engine can be realized in a variety of physically realizable configurations, and should generally not be limited to any particular implementation exemplified herein, unless such limitations are expressly called out. In addition, a module/engine can itself be composed of more than one sub-modules or sub-engines, each of which can be regarded as a module/engine in its own right. Moreover, in the embodiments described herein, each of the various modules/engines corresponds to a defined autonomous functionality; however, it should be understood that in other contemplated embodiments, each functionality can be distributed to more than one module/engine. Likewise, in other contemplated embodiments, multiple defined functionalities may be implemented by a single module/engine that performs those multiple functions, possibly alongside other functions, or distributed differently among a set of modules/engines than specifically illustrated in the embodiments herein.
In some embodiments, the mail handling system 310 places incoming mail into a single file line in a pinch belt, checks for appropriate postage on mail, cancels the postage, and/or places the mail in stackers. The mail handling system 310 positions the mail upright between a pair of pinch belts with either the stamp leading and the address on the front side or the stamp trailing and the address on the back side. The mail handling system 310 obtains a picture image of each piece of mail and prints a mail identifier on each mail piece that is stored along with the image. The image is used to determine mail type such as printed address and script address. After canceling the postage, the mail handling system 310 sorts the mail into one or more bins based on mail type. Each mail type has two bins, one for mail with the stamp leading and one for mail with the stamp trailing.
In some embodiments, the image obtained by the mail handling system 310 can be used by the mail tracking device 102 to identify a customer who is requesting tracking service for the corresponding mail piece. In some embodiments, the mail handling system 310 is an advanced facer-canceler system (AFCS).
In some embodiments, the mail handling system 310 checks for postage stamp on received mail and put a cancellation mark on the stamp when stamp is found. When stamp is not found, the mail handling system 310 may send the image of the mail piece to the mail tracking device 102 to determine whether a user account can be identified based on a hash value of the image, and whether a payment method can be found and executed for the identified user account, e.g., to charge an amount equal to the stamp value needed to complete the intended delivery of the mail piece.
In some embodiments, the mail handling system 310 also prints a mail piece identifier, e.g. an ID tag, on each piece of mail. In some embodiments, bar codes on the mail indicate the destination of the mail piece. The mail handling system 310 determines if a mail piece already contains a bar code and, if so, forwards the mail piece to the mail orienting system 340 or directly to the mail sorting system 350. A mail piece that does not have a bar code is processed by an optical character reader (OCR) located within the mail handling system 310. The OCR attempts to analyze address information from an optical image of the mail piece, obtained by the mail handling system 310, to generate bar code data for the mail piece. If the OCR is not able to decode an address, the image of the mail piece is sent to the remote encoding system 320, where individuals located at the remote encoding system 320 view the image of the mail piece and input bar code information. The bar code information determined by the OCR or input at the remote encoding system 320 is forwarded to the data control system 330 for storage in a bar code database along with the mail piece identifier. The bar code database may be a standalone database local to the data control system 330, or a sub-database within the database 116.
In some embodiments, the mail handling system 310 outputs mail to the mail orienting system 340, which places all mail pieces in the same orientation, such as stamp leading, and carries the mail over a work area and back down to enter the mail sorting system 350. In some embodiments, the mail orienting system 340 includes a camera configured to take a picture of each mail piece in the same orientation. The pictures of mail pieces in the same orientation are sent to the mail tracking device 102 for generating hash values to be compared with stored hash values.
In some embodiments, the mail sorting system 350 accepts mail from the mail orienting system 340 and prints bar codes on mail when needed. The mail sorting system 350 sorts the mail into a plurality of stackers based on the bar code data which reflects the mail destination. In some embodiments, the mail sorting system 350 directs mails into a plurality of stackers based on the destination indicated on a bar code on a mail piece. The mail sorting system 350 determines if a mail piece has a bar code. The mail sorting system 350 uses the bar code to direct the mail piece to a stacker associated with the destination. If a mail piece does not have a bar code, the mail sorting system 350 queries the bar code database at the data control system 330 using the mail piece identifier, requesting bar code information. If bar code information is in the bar code database, the mail sorting system 350 receives the bar code information from the data control system 330, prints the bar code on the mail piece and directs the mail to the appropriate destination stacker. Otherwise, the mail is placed in a reject stacker. The rejected pieces may be re-run through the mail sorting system 350 at a later time after the remote encoding system 320 has entered more bar code data into the bar code database. In some embodiments, the mail sorting system 350 is a delivery bar code sorter (DBCS).
In some embodiments, the ID tag and hash database 420 stores associated ID tag and hash values. That is, the ID tag and hash database 420 can store a plurality of ID-hash pairs, each of which includes a corresponding ID tag and a corresponding hash value associated with each other. The corresponding hash value may be generated from an image of a mail piece taken by the mail handling system 310 or the mail orienting system 340 in
In some embodiments, the customer account database 430 stores customer account information. For example, the customer account database 430 may store information of a user account of a customer, e.g. the customer's user ID on the app, pre-stored payment method, pre-stored name and home address, usage history of the app and the mail service, transaction history on via the app, pre-stored contact information for receiving notifications, etc.
In some embodiments, the event database 440 stores delivery event information. For example, the event database 440 may store event information of a delivery status of a mail piece, e.g. the past locations of the mail piece, when did the mail piece arrive at each of the past locations, whether the mail piece is delivered, delivery time, expected delivery time, and any other delivery status information of the mail piece.
In some embodiments, the database 116 may include additional databases. In some embodiments, all the databases in the database 116 may be cross-indexed to each other for data retrieval. In some embodiments, each of the bar code database 410, the ID tag and hash database 420, the customer account database 430 and the event database 440 may be a standalone database, or a local database to the mail tracking device 102, the server 104, or the mail processing system 109.
As shown in
In this example, a customer called “Customer Bea” is sending the mail piece 500. Customer Bea is instructed to put her name and address in the sender address zone 510, and to put the recipient's name and address in the recipient address zone 520. In some embodiments, Customer Bea is instructed to put a stamp in the stamp zone 530 before mailing the mail piece 500, e.g., when customer account underfunded, or hashing service unavailable due to maintenance.
In some embodiments, as shown in
In some embodiments, all hash values generated by the mail tracking device 102 and the app are based on images of mail pieces put in a same orientation (including same direction and rotation), e.g. the orientation of the mail piece 500 in
In some embodiments, the boundaries of the sender address zone 510, the recipient address zone 520 and the stamp zone 530 are pre-determined based on the dimensionality of the mail piece 500. In some embodiments, the boundaries of the sender address zone 510, the recipient address zone 520 and the stamp zone 530 are determined based on relative locations of the characters applied on the front side of the mail piece 500. In some embodiments, the boundaries of the sender address zone 510, the recipient address zone 520 and the stamp zone 530 are determined by detecting the first pixel and the last pixel containing characters or writings in each zone.
In the example shown in
At step 602, Customer Bea 661 logs into a mobile app on a smartphone 662. In some embodiments, the mobile app is an app associated with a delivery or mail service. In some embodiments, the mobile app is a Hash Tracker app including a function for tracking a mail piece based on hash values. In some embodiments, the smartphone 662 may be replaced by any of the user computing devices 110, 112, 114 as described above.
At step 603, the app instructs Customer Bea 661 to write something specific or unique in the upper right corner, i.e., in the stamp zone, of the letter 663. The purpose of the writing is to increase uniqueness. As such, Customer Bea 661 is instructed or preferred to hand write certain specific or unique characters. In this example, Customer Bea 661 is instructed to write: her initials, a randomly generated number, and the date. This instruction at step 603 is configurable by the app and/or the user. In some embodiments, the writing at step 603 includes any writing or drawing that can alter the picture of the letter 663 in a specific or unique way.
At step 604, the app activates a camera of the smartphone 662 and instructs Customer Bea 661 to take a picture of a front side of the letter 663, including the writing or marking in the stamp zone of the letter 663 (completed in step 603). In some embodiments, Customer Bea 661 is instructed to take the picture while putting the letter 663 in a predetermined orientation, e.g. the same as the orientation of the mail piece 500 in
At step 605, the app hashes the picture based on a hash function, to generate a hash value H1. In some embodiments, the hash value H1 is a series of characters with a predetermined length, e.g. 128 to 512 bits. In some embodiments, the hash function is based on one of the following algorithms: MD4, MD5, or any other MD series algorithms; SHA-0, SHA-1, SHA-2, SHA-3, or any other SHA series algorithms; BLAKE2, BLAKE3, or any other BLAKE series algorithms; RIPEMD-160; Whirlpool; or any other cryptographic hash algorithms. In some embodiments, the hash function is trained based on machine learning and letter images with various writings. In some embodiments, the length of generate hash value is also determined based on machine learning and updated dynamically based on tracking performance of the disclosed tracking functions. In addition, the app sends the hash value H1 to the mail service, along with a user ID of Customer Bea 661 for later updates and notifications. The hash value H1 and the associated user ID are stored in a database, e.g. the ID tag and hash database 420.
In some embodiments, the mail service checks the hash value H1 for uniqueness. For example, the hash value H1 can be compared with other hash values received by the mail service before, or within a predetermined past time period, to determine uniqueness in the hash values. In some embodiments, the uniqueness can be quickly checked by comparing the hash value H1 with other hash values received by the mail service on the same date. In some embodiments, the uniqueness can be quickly checked by comparing the hash value H1 with hash values previously generated based on mail pieces mailed by Customer Bea 661 herself. If the hash value H1 is determined to be not unique, Customer Bea 661 is instructed to add additional marks in the stamp zone (similar to step 603), and take a new picture of front side of the letter 663 (similar to step 604).
When the hash value of the letter 663 is determined to be unique, the process moves to step 606, where the app instructs Customer Bea 661 to mail the letter 663. As such, Customer Bea 661 puts the letter 663 in a mailbox 664, without using a stamp or going to a postal or delivery office. Customer Bea 661 then waits for delivery status information of the letter 663, which will be received at step 621 as notifications on the smartphone 662 from the mail service. In the meantime, the process moves to the steps in the sub-process 600-2 shown in
In the example shown in
At step 608, the mail handling system 665 lifts an image or takes a picture of the letter 663, and applies an ID tag on the letter 663. This picture of the letter 663 is called a candidate picture, because the mail service does not know the identity of the customer mailing the letter 663 yet. In some embodiments, the candidate picture is taken from the front side of the letter 663; and the ID tag is applied on a side other than the front side (e.g., the back side) of the letter 663. In some embodiments, the ID tag is a bar code sprayed or attached to the back side of the letter 663.
In some embodiments, the candidate picture of the letter 663 is taken by a camera in the mail handling system 665. In some embodiments, the candidate picture of the letter 663 is taken by the mail handling system 665 after the letter 663 is put in a predetermined orientation, e.g. the same as the orientation of the mail piece 500 in
In the meantime, at step 609, the letter 663 is sent to a mail sorting system 666. In some embodiments, the mail sorting system 666 is implemented as the mail sorting system 350 in
At step 610, an image processor 667 receives the ID tag and the associated image or picture from the mail handling system 665. At step 611, the image processor 667 hashes the image based on a hash function, to generate a hash value H2. In some embodiments, the hash function used by the image processor 667 at step 611 is the same as the hash function used by the app at step 605. In some embodiments, the hash value H2 is a series of characters with a predetermined length same as that of the hash value H1. In addition, the image processor 667 links or associates the hash value H2 to the ID tag.
At step 612, the associated ID tag and hash value H2 are stored into a database, e.g. the ID tag and hash database 420. As discussed above, the ID tag and hash database 420 also stores other hash values, including the hash value H1 generated by the app. In some embodiments, the hash value H1 and its associated user ID of Customer Bea 661 are stored into the ID tag and hash database 420 by the server 104 from the app. In some embodiments, each hash value in the ID tag and hash database 420 is generated by applying the same hash function as the one previously used to generate hash value H1, to a respective image of a corresponding mail piece, using a mobile app on a user device of a corresponding user. In some embodiments, each hash value in the ID tag and hash database 420 was generated based on a process similar to the process 600-1, using the same app on the user device of the corresponding user.
In some embodiments, all hash values in the ID tag and hash database 420 and hash values generated by the mail tracking device 102 are generated based on corresponding pictures of mail pieces having a same predetermined orientation when being taken, e.g., the orientation of the mail piece 500 in
At step 613, the hash value H2 is compared by a hash comparator 668 in the mail tracking device 102 with a plurality of hash values received from the app to find a match. At step 614, where there is no match found, the sort decision at the mail sorting system 666 may be “return to sender” or “short-paid,” as no payment is received for the letter 663. At step 615, where there is a successful match between the hash values, e.g., between the hash value H1 and the hash value H2, two sub-steps 615-1 and 615-2 are performed. At sub-step 615-1, the mail sorting system 666 generate the sort decision as coded and postage paid. In addition, the user ID of Customer Bea 661 is associated with the ID tag of the letter 663. This may be stored at sub-step 615-2, as updated customer account information for Customer Bea 661 in a database, e.g. the customer account database 430. Accordingly, a user account associated with the user ID of Customer Bea 661 is determined, such that the mail service company can charge Customer Bea 661 for delivering the letter 663 based on pre-stored information (e.g., payment methods) associated with the user account.
In some embodiments, each hash value is a numeric value of a fixed length that uniquely identifies a picture; and a match between two hash values at step 615 may be determined based on a comparison between the two numeric values. In some embodiments, each hash value is a string of alphanumeric characters of a fixed length that uniquely identifies a picture; and a match between two hash values at step 615 may be determined based on a character-by-character comparison between the two strings. In some embodiments, it is critical that the hashing algorithm and framing processes used by the mobile device at step 605 and the hashing algorithm and framing processes used by the image processor 667 at the mail service at step 611 are in complete agreement in order to generate compatible and comparable hash results.
In some embodiments, the hash comparator 668 may be replaced by a general image comparator, which can compare two images or pictures to determine whether they match each other. In some embodiments, the image comparison may be performed by the hash comparator 668 on two pictures: the picture taken by the mail handling system 665 and a candidate picture stored in the ID tag and hash database 420. The process 600 would go to step 614 when there is no match, and would go to step 615 when there is a match between the two pictures. In some embodiments, before the image comparison, each of the two pictures to be compared is processed with: orientation normalization, brightness normalization, color normalization, dimension normalization, shape normalization, etc. In some embodiments, the image comparison is performed based on a machine learning model and/or an artificial intelligence (AI) model.
At step 616, Customer Bea 661 is notified of either mail piece received and processed, or no mail received, depending on whether step 614 or step 615 is performed, i.e., depending on whether there is a match found by the hash comparator 668 for the hash value H2. The notifications at step 616 may be received by the app on the smartphone 662.
The step 617 includes two sub-steps 617-1 and 617-2. At sub-step 617-1, the letter 663 is sorted and sent to destination post office. At sub-step 617-2, the event database 440 is updated with delivery events happening on the way of delivering the letter 663, based on the ID tag of the letter 663. At step 618, the letter 663 is delivered by a mail carrier 669, and the event database 440 is further updated with the delivery status of the letter 663, based on the ID tag of the letter 663.
At step 619, Customer Bea 661 is notified of the delivery status of the letter 663. The notifications at step 619 may be received by the app on the smartphone 662. In some embodiments, from step 616 to step 619, the letter 663 is continuously tracked based on its ID tag (which can be read by any mail sorting system or barcode sorter); and Customer Bea 661 is continuously notified with any updated delivery status of the letter 663, based on an association between the user ID of Customer Bea 661 and the ID tag of the letter 663.
Optionally at step 620, some hash values are deleted from the database 420. For example, hash values older than a predetermined time period, e.g. one or two months, are deleted from the database 420.
In the example shown in
At step 802, the customer 861 logs into a mobile app on a smartphone 862. In some embodiments, the mobile app is an app associated with a delivery or mail service. In some embodiments, the mobile app is a Check Tracker app including a function for tracking a mailed item like a check based on hash values. In some embodiments, the smartphone 862 may be replaced by any of the user computing devices 110, 112, 114 as described above.
At step 803, the app instructs the customer 861 to put the check 863 in a predetermined orientation, e.g. the orientation of the check 863 as shown in
At step 805, the app hashes the picture based on a hash function, to generate a hash value H3. In some embodiments, the hash value H3 is a series of characters with a predetermined length. In some embodiments, the hash function is trained based on machine learning and sample check images.
At step 806, the app associates the picture with the hash value H3, and stores the associated picture and hash value H3 on the smartphone 862 for future use if needed. In some embodiments, the process 800 stops here. The stored information can be used to provide evidence for filing affidavits or police reports to support some potential alteration claims, protecting interests of the customer 861.
If the customer 861 desires, she could track the status of the envelope containing the check 863. This envelope tracking process would be similar to processes 600-1, 600-2 in
In some embodiments, after the hash value H3 and the hash value H1 are both transmitted to the mail service together with the user ID of the customer 861, the mail tracking device 102 may not find a match for the hash value H1 for a long time, e.g. longer than two weeks or a month. In that case, the mail service may send a reminder to the customer 861 via the app or other contact information, indicating that no mail piece, containing the concerned item corresponding to the hash value H3, has been received since the hash values are received.
In some embodiments, the process 800 may be used to track not only check, but also any item mailed with concern, including e.g. bills, receipt, money order, legal documents, any item with critical numerical information, or any item with a high or special value to the customer 861.
Although the methods described above are with reference to the illustrated flowcharts, it will be appreciated that many other ways of performing the acts associated with the methods can be used. For example, the order of some operations may be changed, and some of the operations described may be optional.
In some embodiments, the methods and system described herein can be at least partially embodied in the form of computer-implemented processes and apparatus for practicing those processes. The disclosed methods may also be at least partially embodied in the form of tangible, non-transitory machine-readable storage media encoded with computer program code. For example, the steps of the methods can be embodied in hardware, in executable instructions executed by a processor (e.g., software), or a combination of the two. The media may include, for example, RAMs, ROMs, CD-ROMs, DVD-ROMs, BD-ROMs, hard disk drives, flash memories, or any other non-transitory machine-readable storage medium. When the computer program code is loaded into and executed by a computer, the computer becomes an apparatus for practicing the method. The methods may also be at least partially embodied in the form of a computer into which computer program code is loaded or executed, such that the computer becomes a special purpose computer for practicing the methods. When implemented on a general-purpose processor, the computer program code segments configure the processor to create specific logic circuits. The methods may alternatively be at least partially embodied in application specific integrated circuits for performing the methods.
In some embodiments, each functional component described herein can be implemented in computer hardware, in program code, and/or in one or more computing systems executing such program code as is known in the art. As discussed above with respect to
The foregoing is provided for purposes of illustrating, explaining, and describing embodiments of these disclosures. Modifications and adaptations to these embodiments will be apparent to those skilled in the art and may be made without departing from the scope or spirit of these disclosures. Although the subject matter has been described in terms of exemplary embodiments, it is not limited thereto. Rather, the appended claims should be construed broadly, to include other variants and embodiments, which can be made by those skilled in the art.
The various drawings illustrate a number of elements in a particular order. However, elements that are not order dependent may be reordered and other elements may be combined or separated. While some reordering or other groupings are specifically mentioned, others will be obvious to those of ordinary skill in the art, so the ordering and groupings presented herein are not an exhaustive list of alternatives.
As used herein: the singular forms “a”, “an,” and “the” include the plural forms as well, unless the context clearly indicates otherwise; the term “and/or” encompasses all possible combinations of one or more of the associated listed items; the terms “first,” “second,” etc. are only used to distinguish one element from another and do not limit the elements themselves; the term “if” may be construed to mean “when,” “upon,” “in response to,” or “in accordance with,” depending on the context; and the terms “include,” “including,” “comprise,” and “comprising” specify particular features or operations but do not preclude additional features or operations.
This application claims the benefit of U.S. Provisional Application No. 63/597,261 filed Nov. 8, 2023 and of U.S. Provisional Application No. 63/597,260, filed Nov. 8, 2023, each of which is incorporated herein by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
63597261 | Nov 2023 | US | |
63597260 | Nov 2023 | US |