IP Library Granted Patent US 9,697,261
Granted Patent B2
US 9,697,261 · App. 15/250,838 · Granted Jul 4, 2017

Application representation for application editions

Inventors: Liron Shapira (Mountain View, CA); Nicolas Tarleton (Berkeley, CA); Tomer Kagan (Sunnyvale, CA)
Assignee: Quixey, Inc.
G06F17/30539G06F17/30011G06F17/3053G06F17/30053G06F17/30312G06F17/30477G06F17/30483G06F17/30554G06F17/30598G06F17/30864
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,697,261
App. No.
15/250,838
Granted
Jul 4, 2017
Kind
B2
Abstract

A hardware module for an application search system includes a data processing module that generates a plurality of canonical application structures each identifying a canonical application, a plurality of application editions associated with the canonical application, and respective attributes associated with the at least one application edition. The data processing module generates search indexes including the plurality of canonical application structures and the respective attributes. An application search module receives a search query from a user, selects at least one of the search indexes based on the search query and the respective attributes, identifies an initial set of canonical applications using the selected search index based on the search query, generates search results based on the initial set of canonical applications, and provides the search results to the user.

Claims (41)

1. An application search system comprising:

a data processing module that

generates a plurality of canonical application structures each identifying (i) a canonical application, (ii) a plurality of application editions associated with the canonical application, and (iii) respective attributes associated with the plurality of application editions, and

generates a plurality of search indexes that collectively index the plurality of canonical application structures based on the respective attributes of each respective canonical application structure, wherein each search index corresponds to a particular application attribute of a plurality of possible application attributes and indexes a subset of the plurality of canonical application structures that identify the particular application attribute; and

an application search module that

receives a search query from a user,

extracts one or more query features from the search query,

selects one or more search indexes of the plurality of search indexes based on the one or more query features extracted from the search query and the particular application attributes respectively corresponding to the one or more search indexes,

identifies an initial set of canonical application structures using the selected one or more search indexes based on the search query,

generates search results based on the initial set of canonical application structures, and

provides the search results to the user.

2. The application search system of claim 1 , wherein the respective attributes include at least one of attributes common to each application edition and attributes specific to respective application editions.

3. The application search system of claim 1 , wherein the data processing module:

receives data from one or more data sources, wherein the received data includes information about the respective attributes of the plurality of application editions; and

to generate the plurality of search indexes, extracts the respective attributes from the received data.

4. The application search system of claim 1 , wherein the respective attributes correspond to functional aspects of the plurality of application editions.

5. The application search system of claim 1 , wherein the application search module further receives contextual information associated with the search query, and wherein, to generate the search results, the application search module generates the search results further based on the contextual information.

6. The application search system of claim 5 , wherein (i) the contextual information includes a platform constraint associated with the user and (ii) to generate the search results further based on the contextual information, the application search module generates the search results by selecting at least one canonical application based on the platform constraint.

7. The application search system of claim 1 , wherein, to select the at least one of the search indexes, the application search module selects the one or more search indexes based on at least one feature extracted from text contained in the search query.

8. The application search system of claim 1 , wherein each of the search indexes is associated with a respective platform.

9. The application search system of claim 8 , wherein, to select the one or more search indexes, the application search module determines a platform associated with the user based on the search query and selects the one or more search indexes based on the determined platform.

10. The application search system of claim 1 , further comprising at least one processor that executes functions of the data processing module and the application search module.

11. A method for operating an application search system, the method comprising:

generating a plurality of canonical application structures each identifying (i) a canonical application, (ii) a plurality of application editions associated with the canonical application, and (iii) respective attributes associated with the plurality of application editions;

generating a plurality of search indexes that collectively index the plurality of canonical application structures based on the respective attributes of each respective canonical application structure, wherein each search index corresponds to a particular application attribute of a plurality of possible application attributes and indexes a subset of the plurality of canonical application structures that identify the particular application attribute;

receiving a search query from a user;

extracting one or more query features from the search query;

selecting one or more search indexes of the plurality of indexes based on the search query and the particular application attributes respectively corresponding to the one or more search indexes;

identifying an initial set of canonical application structures using the one or ore selected search indexes based on the search query;

generating search results based on the initial set of canonical application structures; and

providing the search results to the user.

12. The method of claim 11 , wherein the respective attributes include at least one of attributes common to each application edition and attributes specific to respective application editions.

13. The method of claim 11 , further comprising:

receiving data from one or more data sources, wherein the received data includes information about the respective attributes of the plurality of application editions; and

extracting the respective attributes from the received data to generate the plurality of search indexes.

14. The method of claim 11 , wherein the respective attributes correspond to functional aspects of the plurality of application editions.

15. The method of claim 11 , further comprising receiving contextual information associated with the search query, wherein generating the search results includes generating the search results further based on the contextual information.

16. The method of claim 15 , wherein (i) the contextual information includes a platform constraint associated with the user and (ii) generating the search results further based on the contextual information includes generating the search results by selecting at least one canonical application based on the platform constraint.

17. The method of claim 11 , wherein selecting the one or more search indexes includes selecting the one or more search indexes based on at least one feature extracted from a text portion of the search query.

18. The method of claim 11 , wherein each of the plurality of search indexes is associated with a respective platform.

19. The method of claim 18 , wherein selecting the one or more search indexes includes determining a platform associated with the user based on the search query and selecting the one or more search indexes based on the determined platform.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 26, 2017
From: QUIXEY, INC.
To: SAMSUNG ELECTRONICS CO., LTD.
Reel/Frame 044300/0981 →
Continuity (5)
Continuation 14932337 · Nov 4, 2015
Continuation 13840727 · Mar 15, 2013
Provisional Application 61650313 · May 22, 2012
Provisional Application 61638982 · Apr 26, 2012
Related Publication 20160371341A1 · Dec 22, 2016