IP Library Granted Patent US 9,430,553
Granted Patent B2
US 9,430,553 · App. 14/932,337 · Granted Aug 30, 2016

Application representation for application editions

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,430,553
App. No.
14/932,337
Granted
Aug 30, 2016
Kind
B2
Abstract

A disclosed system, method, and computer-readable storage medium automatically identify, cluster, and cross-reference various editions of an application. The editions are clustered and associated with a canonical application structure describing the general functionality of each edition in the cluster. When an application search query is received from a client device, one or more canonical applications corresponding to the query are identified and provided to the client device. Enhancing the relevancy of search results by merging several editions of an application into one canonical application structure reduces unwanted and redundant results on a search result page.

Claims (61)

1. A search system comprising:

a storage unit that stores:

a plurality of canonical application structures, each canonical application structure identifying one or more related application editions and storing:

a) a set of common attributes relating to all of the related application editions and defining attributes common thereto; and

b) for each related application edition, a set of edition attributes relating to the corresponding related application edition and including a value indicating a platform for which the related application edition is configured; and

a plurality of search indexes that collectively index the plurality of canonical application structures, each search index indexing canonical application structures having one or more specific common attribute values defined therein and/or one or more edition attribute values defined therein;

one or more processors that execute instructions, the instructions causing the one or more processors to:

receive a search query and contextual information from a user device, the contextual information including a platform constraint corresponding to the user device;

query one or more of the search indexes based on the search query to identify an initial set of application representations; and

generate search results based on the initial set of application representations and the context information; and

transmit the search results to the user device.

2. The search system of claim 1 , wherein querying one or more of the search indexes includes:

selecting the one or more search indexes from the plurality of search indexes based on an attribute value defined in the search query and/or the contextual information; and

querying the selected search indexes using the search query, the selected search indexes collectively outputting the initial set of canonical application structures.

3. The search system of claim 2 , wherein selecting the one or more search indexes includes:

determining the platform of the user device based on the contextual information; and

selecting a search index from the plurality of search indexes based on the platform defined in the contextual information.

4. The search system of claim 1 , wherein the instructions further cause the one or more processors to:

obtain a plurality of documents from multiple data sources;

identify a plurality of different application editions and, for each application edition, edition attributes of the application edition from the plurality of documents;

cluster the different application editions into a plurality of clusters of application editions based on one or more of the edition attributes; and

for each cluster of application editions:

associate the application editions in the cluster to a canonical application; and

generate a canonical application structure based on the canonical application and the application editions in the cluster; and

store the canonical application structure in the storage unit.

5. The search system of claim 4 , wherein generating a canonical application structure includes:

for each application edition in the cluster:

determining a platform for which the application edition is configured; and

setting a platform edition attribute of the application edition to indicate the platform.

6. The search system of claim 4 , wherein generating the canonical application structure includes clustering the application editions in the cluster of application editions into two or more subclusters, the subclusters including application editions sharing one or more common edition attributes.

7. The search system of claim 4 , wherein the instructions further cause the one or more processors to update one or more of the plurality of search indexes based on the generated canonical application structures.

8. The search system of claim 1 , wherein the search query and the user device are received via a partner device.

9. A method comprising:

storing, by one or more processors, a plurality of canonical application structures in a storage unit, each canonical application structure identifying one or more related application editions and storing:

a) a set of common attributes relating to all of the related application editions and defining attributes common thereto; and

b) for each a related application edition, a set of edition attributes relating to the corresponding related application edition and including a value indicating platform for which the application edition is configured;

storing, by the one or more processors, a plurality of search indexes in the storage unit, the plurality of search indexes collectively indexing the plurality of canonical application structures, each search index indexing canonical application structures having one or more specific common attribute values defined therein and/or one or more edition attribute values defined therein;

receiving, by the one or more processors, a search query and contextual information from a user device, the contextual information including a platform constraint corresponding to the user device;

querying, by the one or more processors, one or more of the search indexes based on the search query to identify an initial set of application representations;

generating, by the one or more processors, search results based on the initial set of application representations and the context information; and

transmitting, by the one or more processors, the search results to the user device.

10. The method of claim 9 , wherein query one or more of the search indexes includes:

selecting the one or more search indexes from the plurality of search indexes based on an attribute value defined in the search query and/or the contextual information; and

querying the selected search indexes using the search query, the selected search indexes collectively outputting the initial set of canonical application structures.

11. The method of claim 10 , wherein selecting the one or more search indexes includes:

determining the platform of the user device based on the contextual information; and

selecting a search index from the plurality of search indexes that indexes canonical application structures identifying at least one application edition that is configured for the same platform defined in the contextual information.

12. The method of claim 9 , further comprising:

obtaining, by the one or more processors, a plurality of documents from multiple data sources;

identifying, by the one or more processors, a plurality of different application editions and, for each application edition, edition attributes of the application edition from the plurality of documents;

clustering, by the one or more processors, the different application editions into a plurality of clusters of application editions based on one or more of the edition attributes; and

for each cluster:

associating, by the one or more processors, the application editions in the cluster to a canonical application;

generating, by the one or more processors, a canonical application structure based on the canonical application and the application editions in the cluster; and

storing the canonical application structure in the storage unit.

13. The method of claim 12 , wherein generating a canonical application structure includes, for each application edition in the cluster:

determining a platform for which the application edition is configured; and

setting a platform edition attribute of the application edition to indicate the platform.

14. The method of claim 12 , wherein generating the canonical application structure includes clustering the application editions in the cluster of application editions into two or more subclusters, the subclusters including application editions sharing one or more common edition attributes.

15. The method of claim 12 , further comprising updating, by the one or more processors, one or more of the plurality of search indexes based on the generated canonical application structures.

16. The method of claim 9 , wherein the search query and the user device are received via a partner device.

Assignments (4)
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 →
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 Nov 24, 2015
From: SHAPIRA, LIRON; KAGAN, TOMER; TARLETON, NICOLAS
To: QUIXEY, INC.
Reel/Frame 037132/0312 →