Automatically obtaining real-time, geographically-relevant product information from heterogeneus sources
First Claim
1. A method for populating a database with product inventory information, the method comprising:
- with one or more processors, executing a first set of instructions representing an instance of a crawler application, the instance of the crawler application to perform a set of operations specified in a crawler configuration file that has been generated with a web-based crawler configuration application, the performance of the set of operations resulting in the retrieval of product inventory information for one or more products hosted at one or more web servers;
with at least one of the one or more processors, executing a second set of instructions representing an instance of a real-time product availability lookup (RTPAL) application, the RTPAL application to use one or more application programming interfaces (APIs) to request and receive product inventory information from one or more third-party network-connected inventory management systems;
subsequent to receiving product inventory information as a result of executing either of the crawler application and the RTPAL application, determining that received product inventory information for a particular product does not specify a unique product identifier;
performing a matching operation by comparing various elements of information concerning the particular product with corresponding information from one or more known products to determine a product with which the received product inventory information for the particular product not specifying the unique product identifier best matches;
storing the received product inventory information for the particular product not specifying the unique product identifier in the database;
receiving a search query from a user, the search query including information identifying a desired geographical area;
processing the search query to provide product inventory information for a particular product satisfying the search query, the product inventory information for the particular product satisfying the search query specifying one or more merchant stores in a geographical location satisfying the desired geographical area identified in the query, and indicating a quantity of the particular product satisfying the search query available at each of the one or more merchant stores.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques for obtaining geographically-relevant product inventory information, in real-time, from heterogeneous data sources are described. Product inventory information, including the volume of available products in specific geographical locations, is obtained from at least three different sources. First, one or more data feeds may be received. Second, a data obtaining module uses one or more APIs to obtain product inventory information from one or more third-party inventory management systems. Finally, a structured data mining module uses a web crawler, at the direction of a crawler configuration, to systematically obtain product inventory information from various third-party websites. Accordingly, a user'"'"'s search query is processed to provide geographically relevant product inventory information in near real time.
14 Citations
15 Claims
-
1. A method for populating a database with product inventory information, the method comprising:
-
with one or more processors, executing a first set of instructions representing an instance of a crawler application, the instance of the crawler application to perform a set of operations specified in a crawler configuration file that has been generated with a web-based crawler configuration application, the performance of the set of operations resulting in the retrieval of product inventory information for one or more products hosted at one or more web servers; with at least one of the one or more processors, executing a second set of instructions representing an instance of a real-time product availability lookup (RTPAL) application, the RTPAL application to use one or more application programming interfaces (APIs) to request and receive product inventory information from one or more third-party network-connected inventory management systems; subsequent to receiving product inventory information as a result of executing either of the crawler application and the RTPAL application, determining that received product inventory information for a particular product does not specify a unique product identifier; performing a matching operation by comparing various elements of information concerning the particular product with corresponding information from one or more known products to determine a product with which the received product inventory information for the particular product not specifying the unique product identifier best matches; storing the received product inventory information for the particular product not specifying the unique product identifier in the database; receiving a search query from a user, the search query including information identifying a desired geographical area; processing the search query to provide product inventory information for a particular product satisfying the search query, the product inventory information for the particular product satisfying the search query specifying one or more merchant stores in a geographical location satisfying the desired geographical area identified in the query, and indicating a quantity of the particular product satisfying the search query available at each of the one or more merchant stores. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A machine-readable storage medium storing instructions thereon, which, when executed by a processor of a server, will cause the server to perform a set of operations comprising:
-
executing a first set of instructions representing an instance of a crawler application, the instance of the crawler application to perform a set of operations specified in a crawler configuration file that has been generated with a web-based crawler configuration application, the performance of the set of operations resulting in the retrieval of product inventory information for one or more products hosted at one or more web servers; executing a second set of instructions representing an instance of a real-time product availability lookup (RTPAL) application, the RTPAL application to use one or more application programming interfaces (APIs) to request and receive product inventory information from one or more third-party network-connected inventory management systems; subsequent to receiving product inventory information as a result of executing either of the crawler application and the RTPAL application, determining that received product inventory information for a particular product does not specify a unique product identifier; performing a matching operation by comparing various elements of information concerning the particular product with corresponding information from one or more known products to determine a product with which the received product inventory information for the particular product not specifying the unique product identifier best matches; storing the product inventory information for the particular product not specifying the unique product identifier in a database; storing product inventory information for a particular product received via the crawler application or the RTPAL application in a data cache with each cache entry having a cache key based on a zipcode for a location at which the product is available, a product identifier, and a product variation identifier. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A product search engine comprising:
-
one or more processors for executing one or more sets of instructions stored in memory; a first set of executable instructions stored in the memory and representing an instance of a crawler application, which, when executed, is to perform a set of operations specified in a crawler configuration file that has been generated with a web-based crawler configuration application, the performance of the set of operations resulting in the retrieval of product inventory information for one or more products hosted at one or more web servers; a second set of executable instructions stored in the memory and representing an instance of a real-time product availability lookup (RTPAL) application, the RTPAL application, when executed, to use one or more application programming interfaces (APIs) to request and receive product inventory information from one or more third-party network-connected inventory management systems; a third set of executable instructions representing a product offering matching module, which, when executed, is to determine that received product inventory information for a particular product does not specify a unique product identifier and then perform a matching operation by comparing various elements of information concerning the particular product with corresponding information from one or more known products to determine a product with which the received product inventory information for the particular product not specifying the unique product identifier best matches; a database module to store the product inventory information for the particular product not specifying the unique product identifier in a database; and a cache module for storing the product inventory information for a particular product received via the crawler application or the RTPAL application in a data cache with each cache entry having a cache key based on a zipcode for a location at which the product is available, a product identifier, and a product variation identifier. - View Dependent Claims (12, 13, 14, 15)
-
Specification