| CPC G06F 12/0802 (2013.01) | 18 Claims |

|
1. A computing apparatus comprising:
one or more processors;
at least one memory device coupled with the one or more processors; and
a data communications interface operably associated with the one or more processors, wherein the at least one memory device contains a plurality of program instructions that, when executed by the one or more processors, cause the computing apparatus to:
receive, at an availability determination server from an availability gateway, an availability request from a requestor;
obtain, based on the availability request, segmentation data that includes one or more segments;
determine that each segment includes an associated segmentation entry within a cache by reading availability data for the segmentation data from the cache, wherein the cache is a precomputed origin and destination availability cache that is a database of precomputed availabilities for availability searches, and the availability data comprises availabilities for the one or more segments and is linked to source data used during computation of the availabilities via an inventory replication database at the availability determination server;
perform a validity check of the availability data that indicates that at least one of the availabilities is invalid as a result of determining that there is a data footprint mismatch between the at least one of the availabilities in the cache and associated data entries in the inventory replication database, wherein the data entries correspond to the source data and are flagged with a data footprint used at computation time of the availabilities;
determine an availability for the at least one of the availabilities, which is indicated to be invalid by the validity check, by accessing the inventory replication database replication and processing an availability computation to recompute the at least one of the availabilities;
update the cache by replacing the at least one of the availabilities with the determined availability for the at least one of the availabilities; and
provide, via the cache, availability results that include availabilities for each of the one or more segments, including the determined availability for the at least one of the availabilities.
|