IP Library Granted Patent US 9,552,414
Granted Patent B2
US 9,552,414 · App. 13/900,470 · Granted Jan 24, 2017

Dynamic filtering in application search

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,552,414
App. No.
13/900,470
Granted
Jan 24, 2017
Kind
B2
Abstract

One embodiment of a disclosed system, method, and computer readable storage medium provides dynamic filtering in application searches. Partner systems leverage search functionality of an application search system configured to perform searches for applications. In one embodiment, partner systems select application categories to be associated with search queries submitted to the application search system via the partners' websites. When users submit search queries to the application search system via a partner system, the users' queries are associated with the partner system's application category selection. Alternatively, the search queries may implicitly or explicitly specify an application category. In response to receiving the queries, the application search system returns search results from the selected application category.

Claims (73)

1. A computer-implemented method comprising:

storing a plurality of application indexes, wherein each application index corresponds to one or more application categories of a plurality of application categories, wherein each application index comprises identifiers for a plurality of application representations, and wherein a subset of the application indexes are associated with a partner system;

receiving a search query from a computing device associated with the partner system;

identifying an application category based on the received search query, the application category indicating a platform executing on the computing device;

selecting an index from the plurality of application indexes based on the identified application category and a partner identifier of the partner system;

querying the selected index corresponding to the identified application category to identify a first plurality of application representations associated with the identified application category;

identifying a second application category based on the received search query;

selecting a second index from the plurality of application indexes based on the second identified application category and the partner identifier;

querying the second index to identify a second plurality of application representations corresponding to the second application category;

generating search results based on a union of the first plurality of application representations and the second plurality of application representations; and

providing, for display, the generated search results to the computing device.

2. The method of claim 1 , further comprising:

providing the partner system with the plurality of application categories;

receiving from the partner system, a selection of an application category from the plurality of application categories; and

associating the selected application category with the partner identifier of the partner system.

3. The method of claim 1 , wherein the received search query specifies the application category.

4. The method of claim 1 , wherein identifying the second application category based on the search query comprises:

determining a language of the search query; and

identifying the language as the second application category.

5. The method of claim 1 , wherein identifying the second application category based on the search query comprises:

identifying an association between one or more query terms in the received search query and the second application category; and

responsive to identifying the association, prompting an end user of the computing device to select the second application category.

6. The method of claim 1 , wherein identifying the application category based on the search query comprises:

identifying an association between a platform identifier of the computing device and the application category.

7. A non-transitory computer-readable medium comprising stored computer program instructions that when executed cause one or more processors to:

store a plurality of application indexes, wherein each application index corresponds to one or more application categories of a plurality of application categories, wherein each application index comprises identifiers for a plurality of application representations, and wherein a subset of the application indexes are associated with a partner system;

receive a search query from a computing device associated with the partner system;

identify an application category based on the received search query, the application category indicating a platform executing on the computing device;

select an index from the plurality of application indexes based on the identified application category and a partner identifier of the partner system;

query the selected index corresponding to the identified application category to identify a first plurality of application representations associated with the identified application category;

identify a second application category based on the received search query;

select a second index from the plurality of application indexes based on the second identified application category and the partner identifier;

query the second index to identify a second plurality of application representations corresponding to the second application category;

generate search results based on a union of the first plurality of application representations and the second plurality of application representations; and

provide, for display, the generated search results to the computing device.

8. The non-transitory computer-readable medium of claim 7 , the instructions further comprising instructions to cause the one or more processors to:

provide the partner system with the plurality of application categories;

receive from the partner system, a selection of an application category from the plurality of application categories; and

associate the selected application category with the partner identifier of the partner system.

9. The non-transitory computer-readable medium of claim 7 , wherein the received search query specifies the application category.

10. The non-transitory computer-readable medium of claim 7 , wherein the instructions cause the one or more processors to identify the second application category based on the search query comprise instructions to cause the one or more processors to:

determine a language of the search query; and

identify the language as the second application category.

11. The non-transitory computer-readable medium of claim 7 , the instructions further comprising instructions to cause the one or more processors to:

prompt an end user to select the second application category based on one or more query terms in the received search query.

12. The non-transitory computer-readable medium of claim 7 , wherein the instructions cause the one or more processors to identify the application category based on the search query comprise instructions to cause the one or more processors to:

identify an association between a platform identifier of the computing device and an application category.

13. The method of claim 1 , wherein the received search query specifies the second application category.

14. The non-transitory computer-readable medium of claim 7 , wherein the received search query specifies the second application category.

15. An application search server comprising:

a non-transitory computer-readable medium storing a plurality of application indexes, wherein each application index corresponds to one or more application categories of a plurality of application categories and wherein each application index comprises identifiers for a plurality of application representations;

one or more processors that execute computer program instructions that when executed cause the one or more processors to:

receive a search query from a computing device associated with a partner system;

identify an application category based on the received search query, the application category indicating a platform executing on the computing device;

select an index from the plurality of application indexes based on the identified application category and a partner identifier of the partner system;

query the selected index corresponding to the identified application category to identify a first plurality of application representations associated with the identified application category;

identify a second application category based on the received search query;

select a second index from the plurality of application indexes based on the second identified application category and the partner identifier;

query the second index to identify a second plurality of application representations corresponding to the second application category;

generate search results based on a union of the first plurality of application representations and the second plurality of application representations; and

provide, for display, the generated search results to the computing device.

16. The application search server of claim 15 , wherein the instructions further cause the one or more processors to:

provide the partner system with the plurality of application categories;

receive from the partner system, a selection of an application category from the plurality of application categories; and

associate the selected application category with the partner identifier of the partner system.

17. The application search server of claim 15 , wherein the received search query specifies the application category.

18. The application search server of claim 15 , wherein the instructions cause the one or more processors to identify the second application category based on the search query by:

determining a language of the search query; and

identifying the language as the second application category.

19. The application search server of claim 15 , the instructions further causing the one or more processors to:

prompt an end user to select the second application category based on one or more query terms in the received search query.

20. The application search server of claim 15 , wherein the instructions cause the one or more processors to identify the application category based on the received search query by identifying an association between a platform identifier of the computing device and an application category.

21. The application search server of claim 15 , wherein the received search query specifies the second application category.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 26, 2017
From: QUIXEY, INC.
To: SAMSUNG ELECTRONICS CO., LTD.
Reel/Frame 044300/0981 →
RELEASE OF SECURITY INTEREST Recorded Oct 23, 2017
From: ALIBABA.COM U.S. INVESTMENT HOLDING CORPORATION
To: QUIXEY, INC.
Reel/Frame 044575/0410 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 14, 2016
From: PROSNITZ, JASON; KAGAN, TOMER; GLOVER, ERIC
To: QUIXEY, INC.
Reel/Frame 039738/0871 →
SECURITY INTEREST Recorded Aug 1, 2016
From: QUIXEY, INC.
To: ALIBABA.COM U.S. INVESTMENT HOLDING CORPORATION
Reel/Frame 039521/0041 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 11, 2013
From: PROSNITZ, JASON; KAGAN, TOMER; GLOVER, ERIC
To: QUIXEY, INC.
Reel/Frame 030776/0624 →