Automatically obtaining real-time, geographically-relevant product information from heterogeneus sources

US9977790B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9977790-B2
Application numberUS-201213366962-A
CountryUS
Kind codeB2
Filing dateFeb 6, 2012
Priority dateFeb 4, 2011
Publication dateMay 22, 2018
Grant dateMay 22, 2018

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

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.

First claim

Opening claim text (preview).

What is claimed is: 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. 2. The method of claim 1 , wherein the web-based crawler configuration application enables the user to specify one of a suite of web crawlers for use with a particular crawler configuration file generated by the web crawler configuration application. 3. The method of claim 1 , wherein the web-based crawler configuration application enables the user to invoke a code editing application to specify customized code for obtaining a particular element of product inventory information, the customized code for inclusion in a crawler configuration file for use with a particular crawler. 4. The method of claim 1 , further comprising: 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 particular product received via the crawler application or the RTPAL application is available, a product identifier, and a product variation identifier. 5. The method of claim 1 , further comprising: assigning to each product identified in the received product inventory information as a result of executing either of the crawler application and the RTPAL application one or more category identifiers for a particular category in a hierarchical category. 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. 7. The machine-readable medium of claim 6 , wherein the web-based crawler configuration application enables a user to specify one of a suite of web crawlers for use with a particular crawler configuration file generated by the web crawler configuration application. 8. The machine-readable medium of claim 6 , wherein the web-based crawler configuration application enables a user to invoke a code editing application to specify customized code for obtaining a particular element of product inventory information, the customized code for inclusion in a crawler configuration file for use with a particular crawler. 9. The machine-readable medium of claim 6 , wherein the operations further comprise: assigning to each product identified in the received product inventory information as a result of executing either of the crawler application and the RTPAL application one or more category identifiers for a particular category in a hierarchical category. 10. The machine-readable medium of claim 6 , wherein the operations further comprise: receiving a search query from a user, the search query including information identifying a desired geographical area; processing the user's search query to provide product inventory information for a particular product satisfying the search query, the product inventory information 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. 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 info

Assignees

Inventors

Classifications

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9977790B2 cover?
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…
Who is the assignee on this patent?
Abraham Jack Phillip, Adelson Aaron, Barto Matthew, and 5 more
What technology area does this patent fall under?
Primary CPC classification G06F16/29. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue May 22 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).