US6633885B1 - System and method for web-based querying - Google Patents
System and method for web-based querying Download PDFInfo
- Publication number
- US6633885B1 US6633885B1 US09/477,257 US47725700A US6633885B1 US 6633885 B1 US6633885 B1 US 6633885B1 US 47725700 A US47725700 A US 47725700A US 6633885 B1 US6633885 B1 US 6633885B1
- Authority
- US
- United States
- Prior art keywords
- attribute
- results set
- records
- restriction
- user
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9532—Query formulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9538—Presentation of query results
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99933—Query processing, i.e. searching
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99933—Query processing, i.e. searching
- Y10S707/99935—Query augmenting and refining, e.g. inexact access
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99943—Generating database or data structure, e.g. via user interface
Definitions
- the present invention relates generally to quickly and efficiently exploring data-centric Web applications.
- the World Wide Web and other information repositories such as online databases and file servers afford quick access to a large amount of information. Indeed, it has been estimated that 40% of the Web's content originates from databases. As but one example, it might be possible to explore an online database of vehicles by specifying values for particular attributes, e.g., manufacturer, price, engine size, and so on.
- a computer is disclosed that is programmed to undertake fast, efficient queries in, e.g., database-centric web applications, although the source of the data can be a local database, a file system, table data from hypertext markup language pages, or indeed any source of attribute-value data records. For illustration purposes, the source of data will be assumed to be a web-accessible database.
- the logic executed by the computer includes displaying at least a portion of a set of records from a database. Each record has at least one attribute, and the set of records establishes a results set. For at least one attribute, a respective attribute control is displayed that can be used to specify at least one attribute restriction. When an attribute restriction is received, the results set is modified.
- only records that are to be actually displayed are included during the modifying step.
- the user can select an example record and the results set modified in response thereto.
- the records can have at least one numeric attribute or at least one categorical attribute.
- a graphical user interface for querying a database that is accessible via a wide area computer network can include attribute controls which are configured to permit a user to modify a results set generated from a database query without further querying the database.
- the attribute controls include at least one numeric attribute control and/or at least one categorical attribute control.
- the attribute controls can be used to establish respective ranges for numerical and categorical attributes to thereby modify a results set.
- the attribute controls include means for permitting a user to select at least one example from the results set and to modify the results set in accordance with the example.
- the results set is established by the smallest hypercube that contains all data points of the example.
- a rank button can be provided that is manipulable to rank the records in the modified results set and to cause records near but not in the modified results set to be displayed.
- a computer program product includes a program of instructions that have computer readable code means for receiving a results set from a database accessible locally or via a wide area computer network.
- the results set contains records characterized by attributes.
- computer readable code means display attribute controls to a user, and computer readable code means alter the results set in response to receiving user input via the attribute controls.
- a computer-implemented method for facilitating database exploration.
- the method includes receiving a results set from the database including records characterized by attributes, and enabling a user to define at least one attribute restriction. Using only records in the results set, a modified results set is displayed that satisfies the attribute restriction.
- FIG. 1 is a block diagram of the architecture of the present system
- FIG. 2 is a screen display of the user interface of the present invention.
- FIG. 3A is a schematic diagram illustrating how rids are assigned to records
- FIG. 3B is a schematic diagram of the data structure of a numeric data column
- FIG. 4 is a schematic diagram of an interim data structure of a categorical data column
- FIG. 5 is a schematic diagram of a final data structure of a categorical data column
- FIG. 6 is a schematic diagram of a numeric restriction data structure
- FIG. 7 is a schematic diagram of a categorical restriction data structure
- FIG. 8 is a flow chart of the logic for implementing numeric restrictions
- FIG. 9 is a flow chart of the logic for implementing categorical restrictions.
- FIG. 10 is a flow chart of the logic for rendering a results set.
- a system for implementing a continuous querying metaphor for exploring data sources, including, without limitation, databases 12 that are associated with wide area computer network components such as web sites 14 via the Internet 16 .
- the system 10 includes a software-implemented engine 18 that is part of a computer 20 with associated data gathering mechanism, such as data gathering API 22 , for communicating with a source of data records, such as the web site 14 .
- data gathering API 22 data gathering API 22
- the source of the data can be sources other than web-accessible databases.
- the source of the data can be a database 14 A that is accessed using JDBC/SQL, a file system 14 B that is accessed using a file system API, table data from hypertext markup language pages, or indeed any source of attribute-value data records.
- the source of data will be assumed to be a web-accessible database.
- the engine 18 receives continuous query user inputs from an input device 24 .
- the engine 18 cooperates with plural software-implemented data column managers 26 , each managing a respective column of attribute data as more fully set forth below, and a software-implemented list renderer 28 , which implements, by means of events and explicit application programming interface (API) calls, the graphics user interface (GUI) described below, to display portions of query results sets on a computer output device, such as a monitor 30 .
- GUI graphics user interface
- the computer 20 can be a server computer made by International Business Machines Corporation (IBM) of Armonk, N.Y.
- IBM International Business Machines Corporation
- Other digital processors may be used, such as personal computers, laptop computers, mainframe computers, palmtop computers, personal assistants, or any other suitable processing apparatus can be used.
- the input device 24 can be established by one or more of: a computer mouse, keyboards, keypads, trackballs, and voice recognition devices.
- Output devices other than the monitor 30 can be used, such as printers, other computers or data storage devices, and computer networks.
- the processor of the computer 20 accesses the engine 18 , list renderer 28 , and data column managers 26 to undertake the logic of the present invention, which may be executed by a processor as a series of computer-executable instructions.
- the instructions may be contained on a data storage device with a computer readable medium, such as a computer diskette having a computer usable medium with a program of instructions stored thereon.
- the instructions may be stored on random access memory (RAM) of the computer, on a DASD array, or on magnetic tape, conventional hard disk drive, electronic read-only memory, optical storage device, or other appropriate data storage device.
- the computer-executable instructions may be lines of C++ code.
- the flow charts herein illustrate the structure of the logic of the present invention as embodied in computer program software.
- the flow charts illustrate the structures of computer program code elements including logic circuits on an integrated circuit, that function according to this invention.
- the invention is practiced in its essential embodiment by a machine component that renders the program code elements in a form that instructs a digital processing apparatus (that is, a computer) to perform a sequence of function steps corresponding to those shown.
- FIG. 2 shows a preferred GUI 32 that can be presented on the monitor 30 .
- the GUI 32 includes a rank button 34 that can be manipulated by means of a mouse for purposes to be shortly disclosed.
- the GUI 32 includes a list, generally designated 36 in FIG. 2, of records from the database 12 .
- the list 36 can be established by querying the database 12 once, with the list 36 essentially establishing a results set.
- a results set record size window 38 indicates how many records are in the results set.
- a user can manipulate the below-described controls to impose attribute restrictions, such that a modified results set satisfying the attribute restrictions is presented.
- the records are vehicle records, and each record has plural categorical attributes, including make name, model name, and transmission type. Also, in the example shown each record has plural numerical attributes, including price, number of cylinders, horsepower, weight, time to go from zero to sixty miles per hour, and number of doors.
- the attribute controls can include sliders 42 that can be manipulated by means of a mouse or other input device to impose and relax restrictions on the corresponding attributes.
- the attribute control 42 for the price attribute can be manipulated to specify a price range, and the modified results set that is almost instantly displayed as the attribute control is manipulated is the subset of the original results set that satisfies the restriction, with the record size window 38 being continuously updated to inform the user of whether the results is becoming too restrictive or too large.
- other attribute restrictions can be imposed or relaxed as appropriate by the user by manipulating the attribute controls 40 to easily and virtually instantaneously modify the results set of a query.
- Categorical attribute controls can be established by select lists that can be manipulated to select or deselect values.
- attribute restrictions can be controlled by simply responding to a yes or no answer, e.g., “do you want a sporty car?”.
- the records themselves in the list 36 can establish attribute controls. More specifically, a user can click on two or more records to designate the records as being examples, and the modified results set that is displayed is the smallest hypercube that contains all the example data points. Or, a single record can be selected with only one or a few attributes also being selected by highlighting a record, holding down the control key, and using a mouse to click on attribute column headings to indicate example attributes, with the modified results set that is displayed being collapsed around the example attributes.
- fuzzy query borders can be established. More specifically, for any given attribute the user can click a fuzzy query button 44 that causes a pop-up menu 46 to be displayed, and using the pop-up menu 46 , the user can specify a particular type of fuzzy border. For example, the user can select “near” in which records that are near, but not in, the query region defined by the corresponding example attribute are included in the modified results set with a rank assigned to them. In one intended embodiment, “nearness” is based on a similarity model that computes the weighted sum of normalized differences in attribute values. Thus, records either greater than or less than the specified value within a “nearness” are returned.
- the user can select “same” as the null (no) fuzzy border, in which case only records that lie entirely within the query area are presented. Or, the user can select “more” or “less” to cause records with greater (or lesser) values than the attribute boundary to be displayed.
- FIG. 3A shows that as an input stream 48 of records arrives, the records are assigned, in order of arrival, sequential record identifications 50 , referred to herein as RIDs, starting from the number 0 .
- the input stream 48 represents car dealerships along with respective distances to each dealership from an origin. The distances in the example shown are the “attributes” for one numeric data column (in the example, a “distance” data column) of a record.
- a numeric DataColumn 51 is established by establishing two columns, namely, a RID list column 52 and a data column 54 .
- the RID list column 52 is a list of RIDs sorted in order of corresponding attribute value, from lowest to highest.
- the RID list column 52 thus represents a precomputed sort of the attributes represented by the DataColumn 51 .
- the dealership shown in FIG. 3A to be associated with RID # 1 a Nissan dealership—has the lowest attribute value ( 3 ) and, hence, RID # 1 is the first RID in the RID list 52 of FIG. 3 B.
- the dealership shown in FIG. 3A to be associated with RID # 2 a Ford dealership—has the highest attribute value ( 537 ) and, hence, RID # 2 is the last RID in the RID list 52 of FIG. 3 B.
- the data column 54 lists attributes in the original order in which the records arrived in the input stream.
- FIGS. 4 and 5 show details of a categorical data column 55 of the present invention.
- the input data stream 48 is used to probe an initially empty hash table 56 . If the probe fails (indicating that the particular categorical value has not yet been used to probe the table 56 ), a RIDset object 58 is allocated which stores the string value of the categorical value as a RIDset.value 60 . Also, a RIDset.count value 62 is initialized with a value of unity. The RIDset 58 is then stored in the hash table 56 , indexed by the string value of the RIDset.value 60 . Accordingly, like the numerical data array shown in FIGS. 3A and 3B, a categorical data column 55 includes a data array 64 and a RID list 65 (described more fully below in reference to FIG. 5 ), and in addition includes a hash table 56 and plural RIDsets 58 .
- RIDset 58 If a probe of the hash table 56 does not fail, an existing RIDset 58 will be returned whose RIDset.value 60 is the same as the record being used to probe the table 56 . In such a circumstance, the RIDset.count value 62 is incremented by one. In either case, after the hash table 56 has been probed with a record, the record's corresponding entry in the data array 64 is set to point to the appropriate RIDset 58 , as indicated by pointers 66 in FIGS. 4 and 5.
- the RID list 65 of a categorical data column 55 is established as follows. Referring to FIG. 5, rather than sort an entire RID list, each unique string value (referred to herein as a key) is collected and sorted in a separate array 67 . In the example shown, four keys are present in the array 67 . Then, for each RIDset 58 a respective RIDset.index value 68 is initialized at zero, and then for each key the corresponding RIDset object 58 is retrieved from the hash table 56 and the RIDset.index value 68 is incremented by the value of the RIDset.count value 62 , with the RIDset.count value 62 then being set equal to zero. Once the scan is complete, the index value 68 of each RIDset object 58 represents where in the RID list 65 the corresponding RIDs are stored.
- a scan of the data array 64 is next commenced. For each RIDset 58 encountered, the corresponding RID is stored at position (RIDset.index value 68 +RIDset.count value 62 ) in the RID list 65 . The value of the RIDset.count value 62 is then incremented by one. It is to be understood that the temporary array 67 can be deleted after the RID list 65 is built. To complete the process of establishing a categorical data column 55 , the RIDset.count values 62 are restored to the values they had prior to the last-described scan of the data array 64 . As intended herein, the various data columns 51 , 55 loaded into cache need not originate from a single database table, but could instead be the result of a complex relational expression that defines the scope of the interactive exploration facilitated herein.
- FIGS. 6 and 7 illustrate data structures for implementing query refinements, also referred to herein as restrictions, in accordance with the logic shown in FIGS. 8 and 9, it being understood that the restrictions are input by a user by means of the GUI 32 set forth above.
- a numeric restrictions array 70 is associated with the data columns 51 .
- a categorical restrictions array 72 is associated with the categorical data columns 55 , as shown in FIG. 7 .
- the arrays 70 , 72 preferably are implemented as a single object, with FIG. 6 showing the restriction array after the numerical restriction “ ⁇ 100” has been applied and FIG. 7 showing the same restriction array after applying the categorical restriction “not Ford”.
- a single restriction array is shared by all numeric data columns 51 and all categorical data columns 55 .
- a restrictions array 70 , 72 is an array of integers (initialized at zero), indexed by RID, that keeps track of restrictions against the associated record.
- a record's restriction count is zero, the record is unrestricted and belongs to the current results set; otherwise, it does not.
- its corresponding restriction count is incremented by one, and when the user removes an attribute restriction for a record, its restriction count is decremented by one.
- the current state for attribute values in a numeric data column 51 is represented by an upper index 74 and a lower index 76 in the RID list 52 .
- the RID list 52 is sorted by attribute value, a subrange in the RID list 52 corresponds to a subrange in attribute value.
- a change in state indicates that either index 74 , 76 or both might move.
- an initially unrestricted upper index 74 moves up to a restricted upper index 74 R when a user indicates a state change of “distance ⁇ 100 miles”.
- the list renderer 28 in response to user manipulation of the GUI 32 , sends an attribute change to the engine 18 , which in turn sends the changes to the appropriate data column manager 26 .
- a DO loop is entered during which the RID list 52 is scanned from the current upper index 74 (or lower index 76 , depending on the direction of the change). For each RID, the corresponding attribute value is looked up at block 82 and then compared to the new restriction at decision diamond 84 .
- the logic moves from decision diamond 82 to block 90 to end the current scan and move the upper (or lower) index 74 ( 76 ) to the position of the last-tested RID.
- the upper index 74 is moved to position 74 R at the end of the scan pursuant to the exemplary distance restriction of “less than 100 miles”.
- a state change is received as described above, and then at block 92 the RIDset 58 that corresponds to the changed categorical attribute is retrieved.
- the user has manipulated the GUI 32 to indicate that Ford cars are to be excluded from the results set.
- the portion of the RID list 65 that is marked by the RIDset.index and RIDset.count values 68 , 62 of the RIDset 55 retrieved at block 94 is scanned and compared to the new categorical restriction.
- the restrictions array 72 is then updated in accordance with the scan at block 98 .
- two restrictions have been combined, a numeric restriction of “ ⁇ 100 miles” and a categorical restriction of “not Ford”, and these restrictions are reflected in the restriction array 72 .
- a Boolean flag in the RIDset 55 under test is set to indicate the new state, i.e., “restricted” or “not restricted”.
- RIDset scheme enables examination of only those RIDs that are relevant to the restriction. It is to be understood that the processes above are essentially the same when relaxing restrictions, except that directions in scanning are reversed for numerical relaxations and Boolean flags are set appropriately for categorical relaxations.
- FIG. 10 shows a preferred logic for representing this feature.
- a change is received that causes at least one record to move into or our of a results set
- a DO loop is entered.
- the list renderer 28 requests N unrestricted records from the engine 18 , wherein N is the number of records that can be simultaneously presented on the monitor 30 .
- the engine 18 passes the request to the appropriate data column manager 26 .
- the manager 26 scans the associated RID list beginning at a position “P” indicated by the list renderer 28 . For each RID scanned, its restriction count is examined, and if it is zero the RID is added at block 110 to a list of RIDs to be returned. The loop continues until N RIDs have been added to the return list or until no further RIDs remain for processing. In the case of categorical data columns 55 , if the Boolean flag of a RIDset indicates that the RIDset is restricted, the entire block of RIDs in the corresponding RID list are not scanned, further increasing processing speed.
- the list renderer 28 requests the records indicated by the return list, thereby instantiating only the records that will actually be displayed on the monitor 30 and, hence, further speeding processing.
- “fuzzy” query borders can be implemented by relaxing the restriction threshold from zero to a higher number.
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
Claims (4)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/477,257 US6633885B1 (en) | 2000-01-04 | 2000-01-04 | System and method for web-based querying |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/477,257 US6633885B1 (en) | 2000-01-04 | 2000-01-04 | System and method for web-based querying |
Publications (1)
Publication Number | Publication Date |
---|---|
US6633885B1 true US6633885B1 (en) | 2003-10-14 |
Family
ID=28792195
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/477,257 Expired - Lifetime US6633885B1 (en) | 2000-01-04 | 2000-01-04 | System and method for web-based querying |
Country Status (1)
Country | Link |
---|---|
US (1) | US6633885B1 (en) |
Cited By (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030046129A1 (en) * | 2001-09-06 | 2003-03-06 | Simon Brecher | Computerized system and method for acquiring and analyzing data pertaining to real estate |
US20030171999A1 (en) * | 2000-08-08 | 2003-09-11 | Tsubasa System Co., Ltd. | Online used car information search system |
US20030212667A1 (en) * | 2002-05-10 | 2003-11-13 | International Business Machines Corporation | Systems, methods, and computer program products to browse database query information |
US20030212676A1 (en) * | 2002-05-10 | 2003-11-13 | International Business Machines Corporation | Systems, methods and computer program products to determine useful relationships and dimensions of a database |
US20040002941A1 (en) * | 2002-06-28 | 2004-01-01 | Thorne Greg M. | Computer-implemented data replacement graphical user interface system and method |
US6738779B1 (en) * | 2001-02-21 | 2004-05-18 | Telecom Italia S.P.A. | Apparatus for and method of multiple parallel string searching |
US20040122646A1 (en) * | 2002-12-18 | 2004-06-24 | International Business Machines Corporation | System and method for automatically building an OLAP model in a relational database |
US20040139061A1 (en) * | 2003-01-13 | 2004-07-15 | International Business Machines Corporation | Method, system, and program for specifying multidimensional calculations for a relational OLAP engine |
US20040260695A1 (en) * | 2003-06-20 | 2004-12-23 | Brill Eric D. | Systems and methods to tune a general-purpose search engine for a search entry point |
US20050039033A1 (en) * | 2003-07-25 | 2005-02-17 | Activeviews, Inc. | Method and system for building a report for execution against a data store |
US20050278290A1 (en) * | 2004-06-14 | 2005-12-15 | International Business Machines Corporation | Systems, methods, and computer program products that automatically discover metadata objects and generate multidimensional models |
US20050283488A1 (en) * | 2004-06-22 | 2005-12-22 | International Business Machines Corporation | Model based optimization with focus regions |
US20050283494A1 (en) * | 2004-06-22 | 2005-12-22 | International Business Machines Corporation | Visualizing and manipulating multidimensional OLAP models graphically |
US20070073549A1 (en) * | 2005-09-27 | 2007-03-29 | Match.Com, L.P. | System and method for providing testing and matching in a network environment |
US7249146B2 (en) * | 2001-09-06 | 2007-07-24 | Shimon Brecher | Computerized system and method for acquiring and analyzing data pertaining to real estate |
US20080082489A1 (en) * | 2006-09-28 | 2008-04-03 | International Business Machines Corporation | Row Identifier List Processing Management |
US20080086452A1 (en) * | 2006-10-06 | 2008-04-10 | Jeffrey James Jonas | System and Method for Selecting Records from a List with Privacy Protections |
US20080147626A1 (en) * | 2006-12-15 | 2008-06-19 | International Business Machines Corporation | Method, computer program product, and system for mining data |
US20080229056A1 (en) * | 2007-03-12 | 2008-09-18 | Broadcom Corporation | Method and apparatus for dual-hashing tables |
US20080229225A1 (en) * | 2006-08-31 | 2008-09-18 | Kaye Evan J | Method for Displaying Search Results for Items with Geographic Attributes |
US20090070133A1 (en) * | 2005-09-27 | 2009-03-12 | Match.Com, L.L.C. | System and Method for Providing a Near Matches Feature in a Network Environment |
US7895191B2 (en) | 2003-04-09 | 2011-02-22 | International Business Machines Corporation | Improving performance of database queries |
US20110047171A1 (en) * | 2009-08-24 | 2011-02-24 | Microsoft Corporation | Answering web queries using structured data sources |
US8117091B2 (en) | 2005-06-17 | 2012-02-14 | Match.Com, L.L.C. | System and method for providing a certified photograph in a network environment |
US8195668B2 (en) | 2008-09-05 | 2012-06-05 | Match.Com, L.L.C. | System and method for providing enhanced matching based on question responses |
US20130138643A1 (en) * | 2011-11-25 | 2013-05-30 | Krishnan Ramanathan | Method for automatically extending seed sets |
US8583563B1 (en) | 2008-12-23 | 2013-11-12 | Match.Com, L.L.C. | System and method for providing enhanced matching based on personality analysis |
US20140280308A1 (en) * | 2013-03-15 | 2014-09-18 | International Business Machines Corporation | Flexible Column Selection in Relational Databases |
US20140317138A1 (en) * | 2011-12-15 | 2014-10-23 | Pyramid Analytics Bv | Method of facilitating manipulation of a database query |
US20150220600A1 (en) * | 2014-01-31 | 2015-08-06 | Oracle International Corporation | Efficient set operation execution using a single group-by operation |
US9817863B1 (en) * | 2010-06-28 | 2017-11-14 | Open Invention Network Llc | Attribute category enhanced search |
US10481766B2 (en) | 2017-02-10 | 2019-11-19 | Microsoft Technology Licensing, Llc | Interfaces and methods for generating and applying actionable task structures |
US10514827B2 (en) | 2017-02-10 | 2019-12-24 | Microsoft Technology Licensing, Llc | Resequencing actionable task structures for transforming data |
US10521448B2 (en) | 2017-02-10 | 2019-12-31 | Microsoft Technology Licensing, Llc | Application of actionable task structures to disparate data sets for transforming data in the disparate data sets |
US11017034B1 (en) | 2010-06-28 | 2021-05-25 | Open Invention Network Llc | System and method for search with the aid of images associated with product categories |
US11216145B1 (en) | 2010-03-26 | 2022-01-04 | Open Invention Network Llc | Method and apparatus of providing a customized user interface |
US20220237241A1 (en) * | 2013-02-08 | 2022-07-28 | Snap Inc. | Generating a contextual search stream |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5032989A (en) * | 1986-03-19 | 1991-07-16 | Realpro, Ltd. | Real estate search and location system and method |
US5361201A (en) * | 1992-10-19 | 1994-11-01 | Hnc, Inc. | Real estate appraisal using predictive modeling |
US5473746A (en) * | 1993-04-01 | 1995-12-05 | Loral Federal Systems, Company | Interactive graphics computer system for planning star-sensor-based satellite attitude maneuvers |
US5615347A (en) * | 1995-05-05 | 1997-03-25 | Apple Computer, Inc. | Method and apparatus for linking images of sliders on a computer display |
US5794216A (en) * | 1995-07-14 | 1998-08-11 | Brown; Timothy Robert | Methods and system for data acquisition in a multimedia real estate database |
US5828374A (en) * | 1993-01-27 | 1998-10-27 | Apple Computer, Inc. | Method and apparatus for selecting characters along a scroll bar with a slider |
US5841437A (en) * | 1993-07-21 | 1998-11-24 | Xerox Corporation | Method and apparatus for interactive database queries via movable viewing operation regions |
US5983220A (en) * | 1995-11-15 | 1999-11-09 | Bizrate.Com | Supporting intuitive decision in complex multi-attributive domains using fuzzy, hierarchical expert models |
US6282547B1 (en) * | 1998-08-25 | 2001-08-28 | Informix Software, Inc. | Hyperlinked relational database visualization system |
-
2000
- 2000-01-04 US US09/477,257 patent/US6633885B1/en not_active Expired - Lifetime
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5032989A (en) * | 1986-03-19 | 1991-07-16 | Realpro, Ltd. | Real estate search and location system and method |
US5361201A (en) * | 1992-10-19 | 1994-11-01 | Hnc, Inc. | Real estate appraisal using predictive modeling |
US5828374A (en) * | 1993-01-27 | 1998-10-27 | Apple Computer, Inc. | Method and apparatus for selecting characters along a scroll bar with a slider |
US5473746A (en) * | 1993-04-01 | 1995-12-05 | Loral Federal Systems, Company | Interactive graphics computer system for planning star-sensor-based satellite attitude maneuvers |
US5841437A (en) * | 1993-07-21 | 1998-11-24 | Xerox Corporation | Method and apparatus for interactive database queries via movable viewing operation regions |
US5615347A (en) * | 1995-05-05 | 1997-03-25 | Apple Computer, Inc. | Method and apparatus for linking images of sliders on a computer display |
US5794216A (en) * | 1995-07-14 | 1998-08-11 | Brown; Timothy Robert | Methods and system for data acquisition in a multimedia real estate database |
US5983220A (en) * | 1995-11-15 | 1999-11-09 | Bizrate.Com | Supporting intuitive decision in complex multi-attributive domains using fuzzy, hierarchical expert models |
US6282547B1 (en) * | 1998-08-25 | 2001-08-28 | Informix Software, Inc. | Hyperlinked relational database visualization system |
Non-Patent Citations (14)
Title |
---|
Ahlberg, Christopher et al., "Visual Information Seeking: Tight Coupling of Dynamic Query Filters with Starfield Displays", 1994 ACM, Pp. 313-317 and 479-480.* </STEXT> |
Ahlberg, Christopher et al., "Visual Information Seeking: Tight Coupling of Dynamic Query Filters with Starfield Displays", 1994 ACM, Pp. 313-317 and 479-480.* |
Publication: "Case-Based Reasoning Support for Online Catalog Sales." Vollrath et al. IEEE Internet Computing. Jul.-Aug. 1998, Pp. 47-54. </STEXT> |
Publication: "Dynamic Queries for Information Exploration: An Implementation and Evaluation." Ahlberg et al. ACM CHI 1992 conference. Pp. 619-626, May 1992. </STEXT> |
Publication: "Visual Information Seeking: Tight Coupling of Dynamic Query Filters with Starfield Displays." Ahlberg et al. ACM CHI 1994 conference. Pp. 313-317. Apr., 1994.</STEXT> |
Publication: "Case-Based Reasoning Support for Online Catalog Sales." Vollrath et al. IEEE Internet Computing. Jul.-Aug. 1998, Pp. 47-54. |
Publication: "Dynamic Queries for Information Exploration: An Implementation and Evaluation." Ahlberg et al. ACM CHI 1992 conference. Pp. 619-626, May 1992. |
Publication: "Visual Information Seeking: Tight Coupling of Dynamic Query Filters with Starfield Displays." Ahlberg et al. ACM CHI 1994 conference. Pp. 313-317. Apr., 1994. |
Spenke, Michael et al., "Focus: the Interactive Table for Product Comparison and Selection", Proceedings of the ACM Symposium on User Interface Software and Technology, 1996, Pp. 41-50.* </STEXT> |
Spenke, Michael et al., "Focus: the Interactive Table for Product Comparison and Selection", Proceedings of the ACM Symposium on User Interface Software and Technology, 1996, Pp. 41-50.* |
White Paper: "Focus: The Interactive Table for Product Comparison and Selection." Spenke et al. Pp. 1-13. Aug. 3, 1998. </STEXT> |
White Paper: "Focus: The Interactive Table for Product Comparison and Selection." Spenke et al. Pp. 1-13. Aug. 3, 1998. |
Williamson, Christopher et al., "The Dynamic HomeFinder: Evaluating Dynamic Queries in a Real-Estate Information Exploration System", Annual ACM Conference on Research and Development in Information Retrieval, 1992, Pp. 338-346.* </STEXT> |
Williamson, Christopher et al., "The Dynamic HomeFinder: Evaluating Dynamic Queries in a Real-Estate Information Exploration System", Annual ACM Conference on Research and Development in Information Retrieval, 1992, Pp. 338-346.* |
Cited By (60)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7184974B2 (en) * | 2000-08-08 | 2007-02-27 | Broadleaf Co., Ltd. | Online used car information search method, program, and device |
US20030171999A1 (en) * | 2000-08-08 | 2003-09-11 | Tsubasa System Co., Ltd. | Online used car information search system |
US6738779B1 (en) * | 2001-02-21 | 2004-05-18 | Telecom Italia S.P.A. | Apparatus for and method of multiple parallel string searching |
US7236985B2 (en) * | 2001-09-06 | 2007-06-26 | Simon Brecher | Computerized system and method for acquiring and analyzing data pertaining to real estate |
US7249146B2 (en) * | 2001-09-06 | 2007-07-24 | Shimon Brecher | Computerized system and method for acquiring and analyzing data pertaining to real estate |
US20030046129A1 (en) * | 2001-09-06 | 2003-03-06 | Simon Brecher | Computerized system and method for acquiring and analyzing data pertaining to real estate |
US7873664B2 (en) | 2002-05-10 | 2011-01-18 | International Business Machines Corporation | Systems and computer program products to browse database query information |
US7447687B2 (en) * | 2002-05-10 | 2008-11-04 | International Business Machines Corporation | Methods to browse database query information |
US6947929B2 (en) | 2002-05-10 | 2005-09-20 | International Business Machines Corporation | Systems, methods and computer program products to determine useful relationships and dimensions of a database |
US20030212676A1 (en) * | 2002-05-10 | 2003-11-13 | International Business Machines Corporation | Systems, methods and computer program products to determine useful relationships and dimensions of a database |
US20030212667A1 (en) * | 2002-05-10 | 2003-11-13 | International Business Machines Corporation | Systems, methods, and computer program products to browse database query information |
US20040002941A1 (en) * | 2002-06-28 | 2004-01-01 | Thorne Greg M. | Computer-implemented data replacement graphical user interface system and method |
US7634460B2 (en) * | 2002-06-28 | 2009-12-15 | Sas Institute Inc. | Computer-implemented data replacement graphical user interface system and method |
US7716167B2 (en) | 2002-12-18 | 2010-05-11 | International Business Machines Corporation | System and method for automatically building an OLAP model in a relational database |
US20040122646A1 (en) * | 2002-12-18 | 2004-06-24 | International Business Machines Corporation | System and method for automatically building an OLAP model in a relational database |
US20040139061A1 (en) * | 2003-01-13 | 2004-07-15 | International Business Machines Corporation | Method, system, and program for specifying multidimensional calculations for a relational OLAP engine |
US7953694B2 (en) | 2003-01-13 | 2011-05-31 | International Business Machines Corporation | Method, system, and program for specifying multidimensional calculations for a relational OLAP engine |
US7895191B2 (en) | 2003-04-09 | 2011-02-22 | International Business Machines Corporation | Improving performance of database queries |
US8239380B2 (en) | 2003-06-20 | 2012-08-07 | Microsoft Corporation | Systems and methods to tune a general-purpose search engine for a search entry point |
US20040260695A1 (en) * | 2003-06-20 | 2004-12-23 | Brill Eric D. | Systems and methods to tune a general-purpose search engine for a search entry point |
US20050039033A1 (en) * | 2003-07-25 | 2005-02-17 | Activeviews, Inc. | Method and system for building a report for execution against a data store |
US7814093B2 (en) | 2003-07-25 | 2010-10-12 | Microsoft Corporation | Method and system for building a report for execution against a data store |
US7707143B2 (en) | 2004-06-14 | 2010-04-27 | International Business Machines Corporation | Systems, methods, and computer program products that automatically discover metadata objects and generate multidimensional models |
US20050278290A1 (en) * | 2004-06-14 | 2005-12-15 | International Business Machines Corporation | Systems, methods, and computer program products that automatically discover metadata objects and generate multidimensional models |
US7480663B2 (en) | 2004-06-22 | 2009-01-20 | International Business Machines Corporation | Model based optimization with focus regions |
US20050283494A1 (en) * | 2004-06-22 | 2005-12-22 | International Business Machines Corporation | Visualizing and manipulating multidimensional OLAP models graphically |
US20050283488A1 (en) * | 2004-06-22 | 2005-12-22 | International Business Machines Corporation | Model based optimization with focus regions |
US8117091B2 (en) | 2005-06-17 | 2012-02-14 | Match.Com, L.L.C. | System and method for providing a certified photograph in a network environment |
US20090070133A1 (en) * | 2005-09-27 | 2009-03-12 | Match.Com, L.L.C. | System and Method for Providing a Near Matches Feature in a Network Environment |
US8473490B2 (en) * | 2005-09-27 | 2013-06-25 | Match.Com, L.L.C. | System and method for providing a near matches feature in a network environment |
US20070073549A1 (en) * | 2005-09-27 | 2007-03-29 | Match.Com, L.P. | System and method for providing testing and matching in a network environment |
US20080229225A1 (en) * | 2006-08-31 | 2008-09-18 | Kaye Evan J | Method for Displaying Search Results for Items with Geographic Attributes |
US7895185B2 (en) | 2006-09-28 | 2011-02-22 | International Business Machines Corporation | Row-identifier list processing management |
US20080082489A1 (en) * | 2006-09-28 | 2008-04-03 | International Business Machines Corporation | Row Identifier List Processing Management |
US7644068B2 (en) * | 2006-10-06 | 2010-01-05 | International Business Machines Corporation | Selecting records from a list with privacy protections |
US20080086452A1 (en) * | 2006-10-06 | 2008-04-10 | Jeffrey James Jonas | System and Method for Selecting Records from a List with Privacy Protections |
US20080147626A1 (en) * | 2006-12-15 | 2008-06-19 | International Business Machines Corporation | Method, computer program product, and system for mining data |
US20080229056A1 (en) * | 2007-03-12 | 2008-09-18 | Broadcom Corporation | Method and apparatus for dual-hashing tables |
US8266116B2 (en) * | 2007-03-12 | 2012-09-11 | Broadcom Corporation | Method and apparatus for dual-hashing tables |
US8195668B2 (en) | 2008-09-05 | 2012-06-05 | Match.Com, L.L.C. | System and method for providing enhanced matching based on question responses |
US8583563B1 (en) | 2008-12-23 | 2013-11-12 | Match.Com, L.L.C. | System and method for providing enhanced matching based on personality analysis |
US8832133B2 (en) | 2009-08-24 | 2014-09-09 | Microsoft Corporation | Answering web queries using structured data sources |
US20110047171A1 (en) * | 2009-08-24 | 2011-02-24 | Microsoft Corporation | Answering web queries using structured data sources |
US11216145B1 (en) | 2010-03-26 | 2022-01-04 | Open Invention Network Llc | Method and apparatus of providing a customized user interface |
US9817863B1 (en) * | 2010-06-28 | 2017-11-14 | Open Invention Network Llc | Attribute category enhanced search |
US11017034B1 (en) | 2010-06-28 | 2021-05-25 | Open Invention Network Llc | System and method for search with the aid of images associated with product categories |
US10417220B1 (en) * | 2010-06-28 | 2019-09-17 | Open Invention Network Llc | Attribute category enhanced search |
US9846729B1 (en) * | 2010-06-28 | 2017-12-19 | Open Invention Network Llc | Attribute category enhanced search |
US20130138643A1 (en) * | 2011-11-25 | 2013-05-30 | Krishnan Ramanathan | Method for automatically extending seed sets |
US20140317138A1 (en) * | 2011-12-15 | 2014-10-23 | Pyramid Analytics Bv | Method of facilitating manipulation of a database query |
US12223005B2 (en) * | 2013-02-08 | 2025-02-11 | Snap Inc. | Generating a contextual search stream |
US11921798B2 (en) * | 2013-02-08 | 2024-03-05 | Snap Inc. | Generating a contextual search stream |
US20220237241A1 (en) * | 2013-02-08 | 2022-07-28 | Snap Inc. | Generating a contextual search stream |
US9208214B2 (en) * | 2013-03-15 | 2015-12-08 | International Business Machines Corporation | Flexible column selection in relational databases |
US20140280308A1 (en) * | 2013-03-15 | 2014-09-18 | International Business Machines Corporation | Flexible Column Selection in Relational Databases |
US20150220600A1 (en) * | 2014-01-31 | 2015-08-06 | Oracle International Corporation | Efficient set operation execution using a single group-by operation |
US9535956B2 (en) * | 2014-01-31 | 2017-01-03 | Oracle International Corporation | Efficient set operation execution using a single group-by operation |
US10521448B2 (en) | 2017-02-10 | 2019-12-31 | Microsoft Technology Licensing, Llc | Application of actionable task structures to disparate data sets for transforming data in the disparate data sets |
US10514827B2 (en) | 2017-02-10 | 2019-12-24 | Microsoft Technology Licensing, Llc | Resequencing actionable task structures for transforming data |
US10481766B2 (en) | 2017-02-10 | 2019-11-19 | Microsoft Technology Licensing, Llc | Interfaces and methods for generating and applying actionable task structures |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6633885B1 (en) | System and method for web-based querying | |
US7555476B2 (en) | Apparatus and methods for organizing and/or presenting data | |
US7054875B2 (en) | Method and apparatus for notifying a user of new data entered into an electronic system | |
US7133867B2 (en) | Text and attribute searches of data stores that include business objects | |
US7302423B2 (en) | Search-on-the-fly with merge function | |
US20010039544A1 (en) | Method for interactively creating an information database including preferred information elements, such as preferred authority, world | |
US8799323B2 (en) | Method and apparatus for displaying data stored in linked nodes | |
US7493315B2 (en) | Apparatus and methods for organizing and/or presenting data | |
US20070226640A1 (en) | Apparatus and methods for organizing and/or presenting data | |
US20020091678A1 (en) | Multi-query data visualization processes, data visualization apparatus, computer-readable media and computer data signals embodied in a transmission medium | |
US20110078603A1 (en) | Method and system of providing search results for a query | |
Smith et al. | Monotonically improving approximate answers to relational algebra queries | |
Shafer et al. | Continuous querying in database-centric web applications | |
US20040162815A1 (en) | Adapting business objects for searches and searching adapted business objects | |
Spinner et al. | Speculative Execution of Similarity Queries: Real-Time Parameter Optimization through Visual Exploration | |
CN117668149A (en) | Search processing method and device, electronic equipment and storage medium | |
Haraty et al. | Iterative querying in web-based database applications | |
WO2002017123A2 (en) | Search-on-the-fly with merge function | |
JPH04248674A (en) | Graphic information extension method and graphic information extending device | |
EP1423798A2 (en) | Search-on-the-fly with merge function |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: INTERNATIONAL BUSINESS MACHINES CORPORATION, NEW Y Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:AGRAWAL, RAKESH;SHAFER, JOHN CHRISTOPHER;REEL/FRAME:010486/0673 Effective date: 19991124 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
FEPP | Fee payment procedure |
Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
FPAY | Fee payment |
Year of fee payment: 4 |
|
REMI | Maintenance fee reminder mailed | ||
FPAY | Fee payment |
Year of fee payment: 8 |
|
SULP | Surcharge for late payment |
Year of fee payment: 7 |
|
AS | Assignment |
Owner name: GOOGLE INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:INTERNATIONAL BUSINESS MACHINES CORPORATION;REEL/FRAME:026664/0866 Effective date: 20110503 |
|
FPAY | Fee payment |
Year of fee payment: 12 |
|
AS | Assignment |
Owner name: GOOGLE LLC, CALIFORNIA Free format text: CHANGE OF NAME;ASSIGNOR:GOOGLE INC.;REEL/FRAME:044127/0735 Effective date: 20170929 |