IP Library Granted Patent US 10,410,163
Granted Patent B2
US 10,410,163 · App. 14/323,769 · Granted Sep 10, 2019

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: The Descartes Systems Group Inc.
G06Q10/083G06Q10/08G06Q30/0601G06Q50/28G06Q50/30
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 10,410,163
App. No.
14/323,769
Granted
Sep 10, 2019
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 (55)

1. A method in a shipment management computing system having a first code module, the method comprising:

facilitating preparation of a shipment of an order, by:

interacting with a shipment preparation computing system that is remote and separate from the shipment management computing system and that is configured to:

receive shipment preparation information from a bar code in a packing list, the shipment preparation information identifying a network resource identifier that identifies the first code module, 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;

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

retrieve, based on the name and after the decryption of the shipment preparation information, the network resource identifier from the second code module;

communicating, using the network resource identifier identified by the received shipment preparation information from the bar code, with the shipment preparation computing system to provide information for the preparation of the shipment of the order and to receive status information about the preparation of the shipment of the order; and

persistently storing in a data repository 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 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 the shipment preparation computing system retrieves the network resource identifier by 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 part of the shipment management computing system, and further comprising:

communicating, by the second code module, the network resource identifier to the shipment preparation computing system.

5. The method of claim 4 , wherein communicating the network resource identifier includes receiving the name from the shipment preparation computing system.

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 , further comprising:

decompressing the shipment preparation information received from the bar code.

9. The method of claim 1 , wherein the shipment preparation computing system decrypts the shipment preparation information by receiving a decryption key shared with the first code module.

10. A non-transitory computer-readable storage medium storing instructions thereon that, upon execution by a shipment preparation computing system, cause the 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, 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;

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

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; and

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

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

11. The computer-readable storage medium of claim 10 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.

12. The computer-readable storage medium of claim 11 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.

13. The computer-readable storage medium of claim 10 wherein the obtained information for the preparation of the shipment of the order 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, and further comprising:

performing the specified one or more item shipment actions expressed according to the defined syntax for shipment preparation information defined by the shipping protocol.

14. The computer-readable storage medium of claim 13 wherein the specified one or more item shipment actions include an instruction to obtain from the first code module a destination shipping address, an instruction to replace a field in shipment information with a data item associated with the shipment of the order, and an instruction to transmit to the first code module the status information about the preparation of the shipment of the order.

15. 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, upon execution by the processor, to:

receive 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;

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

retrieve, based on the name and after the decryption of the shipment preparation information, the network resource identifier from the second code module;

communicate, 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

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

16. The computing system of claim 15 , 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.

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

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

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

20. The computing system of claim 15 , further comprising:

a shipment management system that includes the first code module, the first code module configured to:

transmit to the shipment preparation computing system the information for the preparation of the shipment of the order;

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

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

21. The computing system of claim 15 , further comprising a user interface for specifying shipment information, and wherein the instructions are further configured to automatically populate controls of the user interface with the obtained information for the preparation of the shipment of the order.

22. The computing system of claim 15 , wherein the instructions are further configured to produce a shipping label based at least in part on the obtained information for the preparation of the shipment of the order.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 1, 2018
From: ZIMBEROFF, RAFAEL; USLONTSEV, ALEXANDER; TUGUSHEV, STANISLAV
To: Z-FIRM, LLC
Reel/Frame 045071/0076 →
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 →
Continuity (8)
Continuation 13665625 · Oct 31, 2012
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
Provisional Application 61019208 · Jan 4, 2008
Related Publication 20140324724A1 · Oct 30, 2014