IP Library Granted Patent US 9,424,305
Granted Patent B1
US 9,424,305 · App. 13/938,531 · Granted Aug 23, 2016

Multi-faceted search

Inventor: Randy Winston Puttick (Mercer Island, WA)
Assignee: Zillow, Inc.
G06F17/30424G06F17/30312
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,424,305
App. No.
13/938,531
Granted
Aug 23, 2016
Kind
B1
Abstract

A facility for representing a set of items each potentially having a value for each of a group of attributes is described. The items are represented in a database made up of two or more discrete components. Each component corresponds to a proper subset of group of attributes, and represents for every item of the set the values of its proper subset of attributes. Every component is organized such that data items are represented within it in the same order.

Claims (31)

1. A method in a computing system for processing a query against a set of items each having attributes of two or more of a plurality of attribute types, comprising:

for each of the plurality of attribute types, maintaining a data resource indicating values of attributes of the attribute type for the set of items,

wherein the plurality of attribute types includes text data, geographic data, and relational data;

receiving a query specifying values of attributes of at least two of the plurality of attribute types;

for each of the plurality of attribute types for whose attributes the query specifies values, using the data resource maintained for the attribute type to generate a list of items of the set whose attribute values match the values specified by the query, such that the order of the items in the list generated from every data resource is consistent with the order of the items in the list generated from every other data source without any sorting; and

intersecting the lists to obtain a query result in a single traversal of each of the lists.

2. The method of claim 1 wherein the query specifies values of a geographic location attribute.

3. The method of claim 1 wherein a distinguished one of the data resources indicates the value of a geographic location attribute for each item of the set, and wherein the maintenance of the distinguished data resource includes adding the value of a geographic location attribute of a new data item in a position determined based upon an identifier of the data item, without regard for its geographic location attribute value.

4. The method of claim 1 wherein the query specifies values of a relational attribute.

5. The method of claim 1 wherein the query specifies values of a textual attribute.

6. A computer-readable medium that is not a signal per se, the copy having contents adapted to cause a computing system to perform a method for processing a query against a set of items each having attributes of two or more of a plurality of attribute types, the method comprising:

for each of the plurality of attribute types, maintaining a data resource indicating values of attributes of the attribute type for the set of items,

wherein the plurality of attribute types includes text data, geographic data, and relational data;

receiving a query specifying values of attributes of at least two of the plurality of attribute types;

for each of the plurality of attribute types for whose attributes the query specifies values, using the data resource maintained for the attribute type to generate a list of items of the set whose attribute values match the values specified by the query, such that the order of the items in the list generated from every data resource is consistent with the order of the items in the list generated from every other data source without any sorting; and

intersecting the lists to obtain a query result in a single traversal of each of the lists.

7. The computer-readable medium of claim 6 wherein the query specifies values of a geographic location attribute.

8. The computer-readable medium of claim 6 wherein a distinguished one of the data resources indicates the value of a geographic location attribute for each item of the set, and wherein the maintenance of the distinguished data resource includes adding the value of a geographic location attribute of a new data item in a position determined based upon an identifier of the data item, without regard for its geographic location attribute value.

9. The computer-readable medium of claim 6 wherein the query specifies values of a relational attribute.

10. The computer-readable medium of claim 6 wherein the query specifies values of a textual attribute.

11. A computing system for processing a query against a set of items each having attributes of two or more of a plurality of attribute types, comprising:

a memory adapted to, for each of the plurality of attribute types, maintain a data resource indicating values of attributes of the attribute type for the set of items,

wherein the plurality of attribute types includes text data, geographic data, and relational data;

a query interface adapted to receive a query specifying values of attributes of at least two of the plurality of attribute types; and

a processor adapted to:

for each of the plurality of attribute types for whose attributes the query specifies values, use the data resource maintained for the attribute type to generate a list of items of the set whose attribute values match the values specified by the query, such that the order of the items in the list generated from every data resource is consistent with the order of the items in the list generated from every other data source without any sorting; and

intersecting the lists to obtain a query result in a single traversal of each of the lists.

12. The computing system of claim 11 wherein the query specifies values of a geographic location attribute.

13. The computing system of claim 11 wherein a distinguished one of the data resources indicates the value of a geographic location attribute for each item of the set, and wherein the maintenance of the distinguished data resource includes adding the value of a geographic location attribute of a new data item in a position determined based upon an identifier of the data item, without regard for its geographic location attribute value.

14. The computing system of claim 11 wherein the query specifies values of a relational attribute.

15. The computing system of claim 11 wherein the query specifies values of a textual attribute.

Assignments (4)
MERGER Recorded Jan 12, 2023
From: PUSH SUB I, INC.
To: MFTB HOLDCO, INC.
Reel/Frame 062389/0035 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 11, 2023
From: ZILLOW, LLC
To: PUSH SUB I, INC.
Reel/Frame 062353/0901 →
ARTICLES OF ENTITY CONVERSION AND CERTIFICATE OF FORMATION Recorded Dec 15, 2022
From: ZILLOW, INC.
To: ZILLOW, LLC
Reel/Frame 062136/0427 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 9, 2013
From: PUTTICK, RANDY W.
To: ZILLOW, INC.
Reel/Frame 031376/0207 →
Continuity (2)
Division 11943695 · Nov 21, 2007
Provisional Application 60873618 · Dec 6, 2006