Patent Document ID: 10127320
Application ID: 14982192

Base Claim:
1. A search system comprising: a device controller configured to provision a device to execute a copy of a selected mobile application; a crawler configured to extract content and metadata from a plurality of states of the copy of the selected mobile application using the device; a search input state classifier configured to identify search input states within the plurality of states based on a first set of heuristics, wherein the first set of heuristics includes recognition of user-visible search indicia and recognition of metadata that correlates with search functionality; a parameter identifier configured to identify, for each of the search input states, necessary input parameters; a search function data store configured to store a record for each identified search function in the selected mobile application, wherein each record includes: a path to reach a search input state of the corresponding search function, an indication of input parameters required to be supplied to the corresponding search function, and a mapping of the input parameters to user interface widgets of the search input state; and a query processing system configured to, in response to a query, (i) selectively perform the search function in the selected mobile application using parameters specified by the query, and (ii) scrape content from a resulting search results state.

---

Claim 10:
10. The search system of claim 1 wherein the query processing system comprises: a user interest finder configured to receive a query from a user device and identify a set of entity types to describe segments of the query; a search function matcher configured to identify at least one search function from the search function data store, wherein: each of the at least one search function has a set of required input entity types that is a subset of the identified set of entity types, and a first search function of the at least one search function is associated with a first search input state of a first application; a live scrape system configured to: execute the first application within a device; navigate to the first search input state; supply parameters to the first search input state based on the query; perform a search; and scrape results from a resulting search results state; and a results module configured to assemble results from the live scrape system for each of the at least one search function and transmit the assembled results to the user device.