High throughput global order promising system
Abstract
Techniques are disclosed for high-throughput order promising using multiple servers. Methods and apparatus provide item availability information by receiving an inquiry requesting availability status of a specified item, retrieving summary data associated with the item from a summary data structure stored in a memory of the computer system, determining availability data for the specified item based upon the summary data, and sending an inquiry response indicating the availability of the item based upon the determined availability data. Methods and apparatus provide order scheduling by receiving a scheduling request that identifies an item to be scheduled, determining a schedule for the item, storing availability information for the item based upon the schedule in an in-memory database, and sending a scheduling response based upon the schedule. Storing the availability information may cause the in-memory database to generate a notification that results in an update of the summary data structure.
Claims
exact text as granted — not AI-modifiedwhat is claimed is:
1 . A method comprising:
receiving, by a computer system, an inquiry requesting availability status of a specified item; retrieving, by the computer system, summary data associated with the item from a summary data structure stored in a memory of the computer system; determining, by the computer system, availability data for the specified item based upon the summary data; and sending, by the computer system, an inquiry response indicating the availability of the item based upon the determined availability data.
2 . The method of claim 1 , wherein retrieving the summary data comprises querying an in-memory database for the summary data associated with the item.
3 . The method of claim 1 , wherein retrieving the summary data is done without obtaining exclusive access to the in-memory database.
4 . The method of claim 1 , wherein the summary data includes one or more item identifiers and associated availability information.
5 . The method of claim 4 , wherein the availability information comprises one or more dates of availability of the items.
6 . The method of claim 1 , wherein determining the availability data comprises retrieving a date of availability associated with the item by the summary data.
7 . The method of claim 1 , further comprising:
receiving a notification indicating that updated availability information is available; and storing the updated availability information in the summary data structure.
8 . The method of claim 6 , wherein the summary data structure is optimized for fast insertion and retrieval of data.
9 . The method of claim 1 , further comprising:
receiving, by the computer system, a scheduling request that identifies an item to be scheduled; determining, by the computer system, a schedule for the item; storing, by the computer system, availability information for the item in an in-memory database, the availability information based upon the schedule; and sending, by the computer system, a scheduling response based upon the schedule.
10 . The method of claim 9 , wherein the storing is performed by a separate thread.
11 . The method of claim 9 , wherein the storing causes the in-memory database to generate a notification indicating that updated availability information is available, and the method further comprises:
receiving, at an availability server, the notification indicating that updated availability information is available; and storing, at the availability server, the updated availability information in the summary data structure.
12 . A method comprising:
receiving, by a computer system, a request related to order promising, the request referencing at least one item from a plurality of items that can be ordered; determining, by the computer system, a type of the request; evaluating, by the computer system, one or more routing rules based upon the type of the request, the item, summary data that associates the request with availability information, and server configuration data that references one or more servers; selecting, by the computer system and based upon the evaluation of the routing rules, a server of a type that corresponds to the type of the request; and communicating, by the computer system, the request to the server.
13 . The method of claim 12 , wherein one or more servers are associated with one or more partitions of the plurality of items that can be ordered, and selecting the server further comprises selecting a server associated with a partition that is associated with the item.
14 . The method of claim 12 , wherein the request is an availability inquiry request or an order scheduling request.
15 . The method of claim 12 , wherein each of the one or more rules includes a condition and a server identifier, and the server is determined based upon the server identifier associated with a rule for which the condition evaluates to true.
16 . The method of claim 15 , wherein the condition comprises an expression that references one or more attributes of the request, the summary data.
17 . The method of claim 12 , wherein the request is an availability inquiry request, and communicating the request comprises communicating the request to an availability server selected based upon the evaluation of the routing rules.
18 . The method of claim 12 , wherein the request is an order scheduling request, and communicating the request comprises communicating the request to a scheduling server selected based upon the evaluation of the routing rules.
19 . A system comprising:
a processor configured to: receive a request related to order promising, the request referencing at least one item from a plurality of items that can be ordered; determine a type of the request; evaluate one or more routing rules based upon the type of the request, the item, summary data that associates the request with availability information, and server configuration data that references one or more servers; select, based upon the evaluation of the routing rules, a server of a type that corresponds to the type of the request; and communicate the request to the server receive the request, wherein the request comprises an inquiry requesting availability status of a specified item; retrieve summary data associated with the item from a summary data structure stored in a memory of the computer system; determine availability data for the specified item based upon the summary data; and send an inquiry response indicating the availability of the item based upon the determined availability data.
20 . A method comprising:
receiving, by a computer system, a scheduling request that identifies an item to be scheduled; determining, by the computer system, a schedule for the item; storing, by the computer system, availability information for the item in an in-memory database, the availability information based upon the schedule; and sending, by the computer system, a scheduling response based upon the schedule.Join the waitlist — get patent alerts
Track US2013085895A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.