Order scheduling system and methodology
First Claim
1. A method to be performed on a computing device for providing improved assignment of product orders to one or more of a plurality of fulfillers, the method comprising:
- receiving an order that requires fulfillment from one or more fulfillers, said order comprising individual order items;
ranking said plurality of fulfillers from most favorable to least favorable, based on specified criteria;
evaluating a two-dimensional in-memory data structure, that indicates which of said one or more of the plurality of fulfillers can fulfill which types of said individual order items, to determine whether the order can be fulfilled by a single fulfiller, wherein the two-dimensional in-memory data structure comprises a hash table and is organized based on said ranking;
extending said two-dimensional data structure into a three-dimensional data structure by having at least one entry based on fulfiller and order item type extended into a bit vector indicating one or more order items for a particular fulfiller and order item type, for the order;
when all order items of the order can be fulfilled by a single fulfiller, assigning fulfillment of the entire order to the most-favorable fulfiller that can fulfill all order items;
otherwisesplitting the order by assigning fulfillment of individual order items to the most-favorable fulfillers that collectively can fulfill all order items.
7 Assignments
0 Petitions
Accused Products
Abstract
An order scheduling system providing a method for distributing product orders to multiple fulfillers is described. This method, which solves the common business problem of scheduling order shipments, is optimal because it minimizes the number of orders across fulfillers, thus minimizing shipping costs. It is also fair because orders are distributed equally across fulfillers if that fulfiller has the product available. To schedule orders, a data structure is defined whose rows are represented by a hash table of Fulfillers (HF), where each column is a hash table of Products (HP) and where each index of HP is itself a bit vector (VPi). This gives a three-dimensional data structure. The method operates by performing bitwise ANDing (&) operations of the bit vectors, to generate an Order bit vector representing the optimized fulfillment (per system configuration/constraints) for a particular received order.
-
Citations
16 Claims
-
1. A method to be performed on a computing device for providing improved assignment of product orders to one or more of a plurality of fulfillers, the method comprising:
-
receiving an order that requires fulfillment from one or more fulfillers, said order comprising individual order items; ranking said plurality of fulfillers from most favorable to least favorable, based on specified criteria; evaluating a two-dimensional in-memory data structure, that indicates which of said one or more of the plurality of fulfillers can fulfill which types of said individual order items, to determine whether the order can be fulfilled by a single fulfiller, wherein the two-dimensional in-memory data structure comprises a hash table and is organized based on said ranking; extending said two-dimensional data structure into a three-dimensional data structure by having at least one entry based on fulfiller and order item type extended into a bit vector indicating one or more order items for a particular fulfiller and order item type, for the order; when all order items of the order can be fulfilled by a single fulfiller, assigning fulfillment of the entire order to the most-favorable fulfiller that can fulfill all order items;
otherwisesplitting the order by assigning fulfillment of individual order items to the most-favorable fulfillers that collectively can fulfill all order items. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method to be performed on a computing device for providing improved fairness when assigning product orders to one or more of a plurality of fulfillers, the method comprising:
-
receiving an order that requires fulfillment from one or more fulfillers, said order comprising individual order items; determining desirable attributes for fulfilling the order among a set of two or more available fulfillers; ranking the set of fulfillers from most favorable to least favorable, based on said desirable attributes; evaluating a two-dimensional in-memory data structure, that indicates which of said one or more of the plurality of fulfillers can fulfill which types of said individual order items, to determine whether the order can be fulfilled by a single fulfiller, wherein the two-dimensional in-memory data structure comprises a hash table and is organized based on said ranking; extending said two-dimensional data structure into a three-dimensional data structure by having at least one entry based on fulfiller and order item type extended into a bit vector indicating one or more order items for a particular fulfiller and order item type for the order; when all of the order items of the order can be fulfilled by a single fulfiller, assigning the order to the most-favorable fulfiller that can fulfill all of the order items; and when all of the order items of the order cannot be fulfilled by a single fulfiller, assigning the order to a subset comprising the most-favorable fulfillers that, collectively, can fulfill all order items of the order. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15)
-
-
16. A method to assign product orders to one or more of a plurality of fulfillers, the method comprising:
-
receiving an order comprising individual order items, each order item having an item type; ranking the plurality of fulfillers from most favorable to least favorable, based on one or more desirable attributes; evaluating a two-dimensional in-memory data structure, that indicates which of said one or more of the plurality of fulfillers can fulfill which item type, to determine whether the order can be fulfilled by a single fulfiller, wherein the two-dimensional in-memory data structure comprises a hash table organized based on said ranking; generating a three-dimensional data structure by having at least one entry based on fulfiller and item type extended into a bit vector indicating one or more order items from the order; when all of the order items of the order can be fulfilled by a single fulfiller, assigning the order to the most-favorable fulfiller that can fulfill all of the order items; and when all of the order items of the order cannot be fulfilled by a single fulfiller, assigning the order to a subset comprising the most-favorable fulfillers that, collectively, can fulfill all order items of the order.
-
Specification