IP Library Granted Patent US 8,812,409
Granted Patent B2
US 8,812,409 · App. 13/665,625 · Granted Aug 19, 2014

Reducing payload size of machine-readable data blocks in shipment preparation packing lists

Inventors: Rafael Zimberoff (Seattle, WA); Alexander Uslontsev (Seattle, WA); Stanislav Tugushev (Seattle, WA)
Assignee: Z-Firm, LLC
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,812,409
App. No.
13/665,625
Granted
Aug 19, 2014
Kind
B2
Abstract

Example embodiments provide a Shipment Preparation System (“SPS”), which facilitates the preparation of shipments, such as by producing shipping labels. In one embodiment, the SPS is configured to receive shipment preparation information from a bar code or other machine-readable data block in a packing list. The shipment preparation information identifies a uniform resource identifier (“URI”) that identifies a code module that is remote from the SPS. The SPS determines the URI based on the shipment preparation information, such as by performing a local lookup or requesting the URI from a URI shortening service. The SPS then uses the URI to communicate with the code module in order to obtain information for the preparation of the shipment (e.g., obtaining a destination shipping address) and/or for transmission of information about the preparation of the shipment (e.g., posting an indication that a shipment is ready for pick up).

Claims (47)

1. A method in a shipment preparation computing system, comprising:

facilitating preparation of a shipment of an order, by:

receiving shipment preparation information from a bar code in a packing list, the shipment preparation information identifying a network resource identifier that identifies a first code module that is remote and separate from the shipment preparation computing system, wherein the shipment preparation information identifies the network resource identifier by including a name that is associated by a second code module with the network resource identifier, wherein the shipment preparation information is encrypted using a one-time key that is unique to the packing list;

decrypting the shipment preparation information using the one-time-key that is unique to the packing list;

decompressing the shipment preparation information;

retrieving, based on the name, the network resource identifier from the second code module, wherein the retrieving is performed after the decrypting and the decompressing of the shipment preparation information;

communicating, using the network resource identifier identified by the received shipment preparation information from the bar code, with the first code module to obtain information for the preparation of the shipment of the order; and

communicating, using the network resource identifier identified by the received shipment preparation information from the bar code, with the first code module to cause the first code module to persistently store in a data repository status information about the preparation of the shipment of the order; and

initiating the shipment of the order based on the shipment preparation information received from the bar code in the packing list.

2. The method of claim 1 , wherein the shipment preparation computing system includes the second code module, and wherein the second code module manages a data structure that is based on a settings file stored on non-volatile storage of the shipment preparation computing system.

3. The method of claim 2 , wherein retrieving the network resource identifier includes looking up the name in the data structure to locate an associated uniform resource identifier that identifies the first code module.

4. The method of claim 1 , wherein the second code module is remote and separate from the shipment preparation computing system, and wherein retrieving the network resource identifier includes communicating with the second code module to retrieve the network resource identifier.

5. The method of claim 4 , wherein communicating with the second code module includes transmitting the name to the second code module.

6. The method of claim 4 , wherein the name is part of a shortened uniform resource identifier that is included in the shipment preparation information, the shortened uniform resource identifier identifying the second code module.

7. The method of claim 4 , wherein the second code module is a uniform resource identifier shortening service that is configured to associate the name with a uniform resource identifier that identifies the first code module, and to respond to a request that includes the name with an HTTP redirect to the uniform resource identifier that identifies the first code module.

8. The method of claim 1 , wherein decrypting the shipment preparation information includes receiving a decryption key shared with the first code module.

9. A non-transitory computer-readable storage medium storing instructions that, when executed, cause a shipment preparation computing system to perform a method comprising:

facilitating preparation of a shipment of an order, by:

receiving shipment preparation information from a machine-readable data block in a packing list, the shipment preparation information identifying a network resource identifier that identifies a first code module that is remote and separate from the shipment preparation computing system, wherein the shipment preparation information identifies the network resource identifier by including a name that is associated by a second code module with the network resource identifier;

retrieving, based on the name, the network resource identifier from the second code module;

communicating, using the network resource identifier identified by the received shipment preparation information from the machine-readable data block, with the first code module to obtain information for the preparation of the shipment of the order, wherein the obtained information is structured according to a shipping protocol that defines a syntax for shipment preparation information and corresponding item shipment actions taken by a computing system that complies with the shipping protocol, wherein the obtained information includes one or more property names that specify one or more item shipment actions and that are expressed according to the defined syntax for shipment preparation information defined by the shipping protocol;

communicating, using the network resource identifier identified by the received shipment preparation information from the machine-readable data block, with the first code module to cause the first code module to persistently store in a data repository status information about the preparation of the shipment of the order; and

performing the specified one or more item shipment actions expressed according to the defined syntax for shipment preparation information defined by the shipping protocol, the specified item shipment actions including an instruction to transmit to the remote code module the status information about the preparation of the shipment of the order; and

initiating the shipment of the order based on the shipment preparation information received from the machine-readable data block in the packing list.

10. The non-transitory computer-readable storage medium of claim 9 wherein the network resource identifier is a uniform resource identifier that identifies shipment information and post-back information, and further comprising:

posting information about the preparation of the shipment of the order to the first code module, based at least in part on the post-back information.

11. The non-transitory computer-readable storage medium of claim 10 wherein the uniform resource identifier has a scheme name and scheme data, the scheme name identifying a shipping protocol and configured to cause the shipment preparation computing system to execute a shipment preparation module and to provide the scheme data to the shipment preparation module, the scheme data identifying the shipment information and the post-back information.

12. The non-transitory computer-readable storage medium of claim 9 wherein the specified item shipment actions further include an instruction to obtain from the remote code module a destination shipping address and an instruction to replace a field in the shipment information with a data item associated with the shipment of the order.

13. A computing system for facilitating preparation of a shipment of an order by a shipment preparation computing system, comprising:

a processor;

a memory; and

instructions that are stored in the memory and that are configured, when executed by the processor, to:

prepare a packing list that includes a bar code that includes shipment preparation information identifying a network resource identifier that identifies a first code module that is remote and separate from the shipment preparation computing system, wherein the shipment preparation information identifies the network resource identifier by including a name that is associated by a second code module with the network resource identifier, wherein the shipment preparation information is encrypted using a one-time key that is unique to the packing list;

electronically transmit the packing list to the shipment preparation computing system, thereby causing the shipment preparation computing system to:

decrypt the shipment preparation information using the one-time key that is unique to the packing list;

decompress the shipment preparation information; and

retrieve, based on the name, the network resource identifier from the second code module, wherein the shipment preparation computing system retrieves the network resource identifier after it decrypts and decompresses the shipment preparation information;

receive information about the preparation of the shipment of the order from the shipment preparation computing system; and

persistently store in a data repository the information about the preparation of the shipment of the order.

14. The computing system of claim 13 , further comprising the second code module, wherein the second code module is configured to:

associate the name with a uniform resource identifier that identifies the first code module; and

respond to a request that includes the name with an HTTP redirect to the uniform resource identifier that identifies the first code module.

15. The computing system of claim 13 , wherein the second code module is a third-party uniform resource identifier shortening service.

16. The computing system of claim 15 , wherein the third-party uniform resource identifier shortening service is at least one of: bit.ly, goo.gl, and/or tinyurl.com.

17. The computing system of claim 13 , wherein the second code module is a Domain Name System server.

18. The computing system of claim 13 , wherein the second code module is a Lightweight Directory Access Protocol directory service.

19. The computing system of claim 13 , wherein the instructions are further configured to encrypt and compress the shipment preparation information in the bar code.

Assignments (4)
MERGER AND CHANGE OF NAME Recorded Feb 7, 2018
From: Z-FIRM, LLC; DESCARTES SYSTEMS (USA) LLC
To: DESCARTES SYSTEMS (USA) LLC
Reel/Frame 044851/0528 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 7, 2018
From: DESCARTES SYSTEMS (USA) LLC
To: DESCARTES U.S. HOLDINGS, INC.
Reel/Frame 044851/0576 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 7, 2018
From: DESCARTES U.S. HOLDINGS, INC.
To: THE DESCARTES SYSTEMS GROUP INC.
Reel/Frame 044851/0597 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 18, 2013
From: ZIMBEROFF, RAFAEL; USLONTSEV, ALEXANDER; TUGUSHEV, STANISLAV
To: Z-FIRM, LLC
Reel/Frame 029659/0161 →
Continuity (8)
Continuation In Part 13277970 · Oct 20, 2011
Continuation In Part 12169509 · Jul 8, 2008
Continuation In Part 11952561 · Dec 7, 2007
Continuation 12832805 · Jul 8, 2010
Continuation In Part 12347660 · Dec 31, 2008
Continuation In Part 12169509 · Jul 8, 2008
Provisional Application 61019208 · Jan 4, 2008
Related Publication 20130056533A1 · Mar 7, 2013