US20010015733A1 - Clustering user interface - Google Patents
Clustering user interface Download PDFInfo
- Publication number
- US20010015733A1 US20010015733A1 US09/839,440 US83944001A US2001015733A1 US 20010015733 A1 US20010015733 A1 US 20010015733A1 US 83944001 A US83944001 A US 83944001A US 2001015733 A1 US2001015733 A1 US 2001015733A1
- Authority
- US
- United States
- Prior art keywords
- category
- display
- item
- label
- items
- 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.)
- Abandoned
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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/248—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/2425—Iterative querying; Query formulation based on the results of a preceding query
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/2428—Query predicate definition using graphical user interfaces, including menus and forms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/26—Visual data mining; Browsing structured data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
-
- 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
- Y10S715/00—Data processing: presentation processing of document, operator interface processing, and screen saver display processing
- Y10S715/961—Operator interface with visual structure or function dictated by intended use
- Y10S715/965—Operator interface with visual structure or function dictated by intended use for process control and configuration
- Y10S715/966—Computer process, e.g. operation of computer
- Y10S715/968—Computer process, e.g. operation of computer interface for database querying and retrieval
Definitions
- This invention relates to computer database searches. More precisely, this invention provides an improved interface for performing computer database searches and filtering search results.
- a user queries the database by selecting a set of criteria (a request) and submitting those criteria to a database engine.
- SQL Structured Query Language
- SQL statements are strings of text and numbers which define the search request. If the end user requesting data from a database is proficient in SQL, the end user can specify the SQL statement directly. However, where the end user is not proficient in SQL programming, a user interface might be provided to allow the end user to intuitively select elements from the user interface, which are then converted into SQL statements for submission to an SQL-capable database engine. Many user interfaces which convert user input into SQL statements are known. In some interfaces, a user answers a series of questions, fills out an on-screen form or selects from a finite number of choices using a mouse or other pointing device.
- the database engine returns the records meeting the criteria, if any, and the user interface displays the records or some indication of the records.
- Several methods have been used to display the data returned from the database query, such as tables, charts, graphs, and graphic images such as maps or tree structures.
- the term “maps” as used herein can be geographical maps or logical maps laying out data points in an N-dimensional coordinate system.
- FIG. 1 illustrates the former problem
- FIG. 2 illustrates the latter.
- One way to avoid the selection problem is to allow the user to click the pointing device near the point of interest and treat the click as the selection of all points within a radius (“a radius search”). Of course, this has the disadvantage of selecting too many records, too few records or the wrong records.
- Another way to avoid the selection problem is to have a user select on arbitrary boundaries such as state boundaries, and gets a text listing of all the locations in that state, and possibly a further graphical selection of a county or region.
- the state selection is shown in FIG. 3.
- the disadvantage of this approach is that the user, at most, knows only whether or not a state contains at least one dot.
- Microsoft WordsTM word processing software provides a feature for searching for files among the hierarchical directory structure of a disk.
- the matching files are displayed in a directory tree structure showing each of the directors for the files along with their parent directories. While this is useful for a small number of files, the display for a large number of files would not fit on the screen and thus the user must scroll through the listing or manually “collapse” uninteresting directory structures to be able to see the directory structures of interest.
- This approach does not give the user a “big picture” view of file structures, unless the user knows what the big picture looks like and creates it for themselves.
- a user is presented with a display map from which the user selects database records of interest.
- a cluster evaluator groups some of the records into clusters.
- a cluster is a set of records which would be clustered on the display map.
- unclustered records are represented by item icons, while clusters are represented by cluster icons. If a user selects an item icon, the associated record is selected and a predetermined action is taken. If a cluster icon is selected, the display map is “zoomed in” to show greater detail around the cluster.
- a number of clustered records become unclustered records when the zooming occurs, because the clustering criteria are sharpened.
- the user can iteratively select clusters, resulting in greater and greater detail, until the user selects an item icon and the predetermined action is taken with that record.
- the predetermined action could be any action which might be taken with an individual record, such as displaying additional fields for the record, initiating a process for manipulating the record, or the like.
- icons refers to a user interface element which is presented to the user and is selectable by the user using a pointing device.
- icons can be regular shapes or irregular shapes, can have identified borders or implied borders, and can either be illustrated with a graphic that hints to the meaning of the icon or can be a plain area whose meaning is identified by context.
- the records are mapped to the display based on field values of the record.
- a two-dimensional map could be used to display records which contain longitude and latitude values.
- the same principles could be used for one-dimensional data, three-dimensional data, or higher dimensional data which can be suitably represented on a two- or three-dimensional display.
- cluster icons are graphically displayed as shaded regions on a graph or map, roughly coextensive with the mappings of the records to the display.
- Unclustered records are graphically represented by item icons at the location corresponding to the field data of the records. Thus, a user can easily see where the clusters are, where the unclustered records are, and regions where no records exist.
- Clusters might overlap, so that one record is clustered into more than one cluster.
- the user By selecting a particular cluster, the user reduces the dataset to a subset which contains only those records which were clustered into the selected cluster. The new subset is then clustered to allow the users to narrow their search further, and the selection process to begin again. The users can end their search at any time, but eventually, the dataset will be reduced to a set of records that do not cluster.
- the present invention can also be used to present hierarchical structures for user selection of records from such structures.
- hierarchical structures include electronic file storage directory structures, organizational charts within large organizations, plain hypertext pages on a Web site, or an intranet.
- clustering is done by using a metric which is the number of links rather than a distance in a coordinate system or a weighted metric which takes into account hierarchies where some links are more important than others, such as taxonomy hierarchy. For example, two files in the same directory would be deemed to have a metric between them of 0 and a file in a parent directory would have a metric between a file in an immediate subdirectory of 1.
- the metric could either be the number of links in the shortest path between the two files ( 2 ) or the number of links to a common ancestor ( 1 ).
- Such a clustering process might prove to be highly useful in sorting through corporate data, if it is clustered and organized according to an organizational chart, wherein information provided by departments nearer to the user's department is given more prominence than information from departments which are “farther” away on the organization chart. Presentation of hierarchical information would also be greatly simplified using the present invention, as many search engines or searching Worldwide Web sites tend to either show too many hits or too few hits.
- a large URL (uniform resource locator) database such as YAHOO!'s database (http://www.yahoo.com/) would provide too many references matching the word “team” to be of use to a searcher.
- YAHOO!'s database http://www.yahoo.com/
- the user could be presented with all the hits, where many of the hits are clustered into a single entry. The user would be provided with a cluster icon to “open” that cluster, possibly leading to other clusters.
- the invention could also be applied to a “yellow pages” database.
- the clustering algorithm can incrementally increase the minimum distance separating two clusters. As the distance increases, the number of clusters will decrease. When the total number of clusters becomes less than a predetermined threshold, that distance is used in the clustering algorithm.
- An alternative method for incremental clustering would be to initially create clusters of records that are separated by very small distances and then gradually combine these clusters into bigger clusters until the total number of clusters becomes less than the threshold.
- the clustering process can be modified to terminate before all cluster pair distances are calculated. For instance, if a current step of clustering is combining all clusters less than five miles apart, the clustering process could terminate when the goal of getting the total number of clusters of less than twenty has been achieved even though there are still clusters less than five miles apart remaining.
- a list of categorized items are displayed as a list of labels, where a label is a textual and/or graphical indication of what the label represents.
- Each label represents either an item or a category, where an item label represents an individual item, while a category label represents an entire category of items.
- a display manager determines which items are shown individually and which are grouped by category so that the full display is used.
- One method of filling a display is to set a threshold count and to tag for individual display all items in categories having no more than the threshold count of items and to tag for category display the items in categories having more than the threshold count of items.
- the threshold count is then adjusted so that the labels just fill the display. Thus, if there are too many labels, the threshold count is raised, and if there are too few labels, the threshold count is lowered, until the threshold count reaches one, at which point the display will show all of the items with item labels.
- FIG. 1 is a clickable map with small squares on the map representing individual records in a database of records where each record has a location within the map of the continental United States.
- FIG. 2 is a clickable map with large squares as used in the prior art.
- FIG. 3 is a clickable map where a state of interest is selected.
- FIG. 4 is a front view of a computer system which could be used to implement the present invention.
- FIG. 5 is a block diagram of the components of the computer system shown in FIG. 4 as they relate to the present invention.
- FIG. 6 is a clickable map according to the present invention with unclustered item icons and cluster icons are overlaid on a map.
- FIG. 7 is a clickable map which results from user selection in FIG. 6 of the cluster under the mouse cursor.
- FIG. 8 is a flowchart of a display process according to the present invention.
- FIG. 9 is a block diagram of a networked system over which the present invention could be used.
- FIG. 10 is a map of a directory structure which can be searched using the present invention.
- FIG. 11 is a block diagram of a display in which items are represented by item labels and category labels.
- the present invention can operate on a wide variety of computers with a number of suitable configurations, each being the preferred embodiment for a particular implementation.
- a palmtop implementation might be preferred for use with a restaurant finding device designed to be used by a person walking around looking for a good restaurant meeting the person's criteria.
- a desktop model, with high resolution graphics and a direct Internet connection might be preferred for an office-based application.
- This detailed description of the invention will describe an embodiment using a desktop computer and an embodiment using the Internet (the global internetwork of networks generally referred to by that name), although it should be understood that many other configurations of computing devices might also be used to provide similar functionality.
- the user might be an Internet or Intranet surfer, a system administrator, an email administrator or an interactive television viewer/user.
- the computing device might also be a mainframe terminal or computer kiosk.
- FIG. 4 shows a typical desktop computer 10 made up of a system box 12 enclosing a hard disk 14 , a keyboard 16 , a mouse 18 , and a monitor 20 including a display surface 22 .
- desktop computer 10 can be programmed with programs stored on hard disk 14 to perform various tasks. These tasks might involve accepting user input from keyboard 16 and mouse 18 , and/or displaying images or text on display surface 22 .
- the input from mouse 18 is in the form of either movement in two dimensions (rolling the mouse) or clicking (pressing one of the mouse buttons). It is also well known to replace mouse 18 with equivalent two-dimensional pointing devices, or even three-dimensional pointing devices.
- monitor 20 can be made to display three-dimensional images, as is well known in the graphic arts.
- FIG. 5 is a block diagram illustrating the typical contents of system box 12 in more detail.
- a central processing unit (CPU) 202 executes programs stored in a program memory 204 by reading program instructions from program memory 204 via processor bus 206 .
- CPU 202 interprets input signals from mouse 18 provided on bus 206 after being suitably transformed by a mouse driver 208 which might be hardware, software, or a combination of both.
- CPU 202 uses a RAM (random access memory) 210 for storage of program variables as needed.
- Bus 206 also provides a path for CPU 202 to send output signals to display surface 22 of monitor 20 (see FIG. 4) via a display driver 222 and video display memory 224 . If used, desktop computer 10 can communicate over a network with a network connection 218 .
- hard disk 14 is loaded with a map database 220 and one or more programs.
- CPU 202 causes the program to be loaded from hard disk 14 into program memory 204 .
- program memory 204 and RAM 210 are different segments of one memory structure.
- the program includes a cluster evaluator 230 , a display generator 232 , an input processor 234 , a database query interface 236 and a record action module 238 .
- Other components, such as a database engine, are included but not shown in FIG. 5.
- FIGS. 4 - 5 Using the system described in FIGS. 4 - 5 , a user will select records from map database 220 and have a selected record acted on by record action module 238 .
- a process of using the system according to the present invention is described in more detail in connection with FIGS. 6 - 7 .
- two examples of the prior art will be described. In both the prior art and the presently described inventive embodiment are user interfaces in which the user's goal is to select a record according to geographical location.
- One use of such a system is to allow users to select one store of a national chain of stores and perform an action with respect to that store (e.g., dial that store's telephone number, get a map of surface streets giving directions to the store, get listings of hours of operation, products carried, manager name, etc.).
- an action e.g., dial that store's telephone number, get a map of surface streets giving directions to the store, get listings of hours of operation, products carried, manager name, etc.
- FIG. 1 shows one method of record selection known in the prior art.
- Each of the small black squares on the map represents one store.
- the user positions a mouse cursor 250 over the desired one of the black squares and clicks a mouse button to select the store. While that may be useful in areas where there are few stores, such as Colorado and Oklahoma, it would be very difficult for the user to position the mouse exactly to select the desired store if it were in California, Washington, Texas or the East Coast.
- the selection difficulty increases if the display uses, instead of small black squares, icons displaying the company's logo.
- FIG. 2 shows what a user interface might look like if icons displaying a company's logo were to be presented in each dot. As FIG. 2 shows, the logo icons would be completely unwieldy even with only a few locations.
- FIG. 3 shows one way to avoid the problems illustrated in FIGS. 1 - 2 .
- the user instead selects the state of interest.
- FIG. 3 the user has positioned the cursor and selected the state of Wyoming.
- the computer would show an expanded, zoom display of the state of Wyoming.
- the selection of Wyoming is fruitless because there are no stores in Wyoming.
- the user might have selected California, which does have many stores.
- the computer might need to zoom in one more level if too many stores are represented in the state view.
- FIG. 6 shows an improved display 300 according to the present invention.
- display 300 Overlaid on a map of the contiguous United States, display 300 includes item icons 302 and cluster icons 304 .
- Item icons 302 represent the locations of individual stores which are not clustered with other stores as determined by cluster evaluator 230 .
- mouse cursor 310 the user can select either a cluster icon 304 or an item icon 302 . If the user selects an item icon 302 , the computer responds with the predetermined item action. If the user selects a cluster icon, such as the one shown under mouse cursor 310 , the computer zooms in to the map shown in FIG. 7. As should be apparent from FIG. 6, the user can easily identify where there are no stores and where there are collections of stores. Note that the data and the cluster icons are not necessarily constrained by state or other boundaries. The shape of the cluster icons are determined by the locations of their constituent items, as explained below.
- the zoomed in map 320 now shows several individual stores in a second layer of clusters. The process of zooming continues until the user aborts or selects an item icon. Note that, in FIGS. 6 - 7 , the individual icons can be large enough to show the company's logo (“K” for the imaginary sunglass retailer “Kool Shades” used for this example) without interfering with the selection process.
- the display maps shown in FIGS. 6 - 7 are generated by computer system 10 according to the process shown in the flowchart of FIG. 8. That flowchart includes a series of steps numbered in ascending order which are executed in that order except where indicated.
- the computer determines the map bounds. For a national chain such as Kool Shades, the default initial map bounds are defined by the rectangle enclosing the contiguous United States.
- step S 2 the computer determines which records are within the map bounds. These are the records the user can select among.
- cluster membership is determined (S 3 ).
- Each cluster has a set of records which are its members.
- each record is either a member of no cluster or a member of one cluster.
- the system could be designed to allow a record to be in more than one cluster, so long as each cluster contains a subset of records significantly smaller in size than the set of all records.
- Many of the different clustering algorithms in different fields of math and science will function adequately for this purpose, depending on the goals of the search and type of data. Other clustering factors, such as the metric used and the normalization of metrics, play important roles in the search process.
- One method for clustering uses a geographic distance metric.
- Each record for a Kool Shades store includes the longitude and latitude of the store. Using this information, the geographic distance between two stores is easily calculated using known techniques.
- a metric can be generated from the values for the data. For example, if the user were selecting records not based on a geographic location, but based on the records' “locations” on a plot of two field values, those field values might need to be normalized.
- One way to normalize the values is to scale each axis of the plot so that the values fall within a square. This is equivalent, for a first field and a second field, to dividing each first field value by the range of first field values and dividing each second field value by the range of second field values.
- V′ a new value for a field value can be calculated from the original field value, V, with the formula:
- V′ K ( V ⁇ L )/( H ⁇ L )
- L is the lowest field value and H is the highest field value.
- the multiplicative constant K is set to one to keep all values in the range from zero to one, but it could be set to any other suitable value.
- the “distance” between any two records can be found. These distances are used to determine which records cluster with which other records.
- One method for clustering data is to consider each record as an N-dimensional sphere (a circle in the case of Kool Shades stores). Any records whose spheres intersect would be clustered together.
- the radius of the spheres may depend on the needs of the application, the total number of records, the distance between map boundaries and the density of records in particular locations.
- each unclustered record will be assigned to one cluster and any record which is within a sphere radius of a clustered record will be a member of that cluster.
- the size of the cluster is often dependent on the distribution of its members.
- all records are assigned to clusters, with the unclustered records each being the sole member of their cluster. Although, technically, they may be assigned to such solo clusters, they are considered to be unclustered.
- the cluster icon shapes are calculated (S 4 ). Of course, if the data is not graphically displayable, this step need not be done.
- a cluster icon can just be a shaded area covering the union of the circles for each record in the cluster.
- An algorithmically easier method for determining shape is to consider each record as a square or a cube. The shape of the cluster is then derived by using polygons to outline the shape of the union of the squares or cubes.
- step S 5 the map is overlaid with cluster icons and item icons.
- step S 6 the map and overlays are displayed to the user. As explained above, the user can easily see where unclustered records are, where clusters are, the clusters' extents and the areas where no records are to be found.
- step S 7 user input is accepted and in step S 8 , the type of user input is evaluated. If the user clicks on the map outside an item icon or a cluster icon, the program flow is from step S 8 back to S 7 (i.e., no action is performed). If the user selects an item icon, the predetermined action for items is performed (S 9 ), be it displaying a street map with directions to the individual store or other data about that individual record. If the user selects a cluster icon, the program proceeds to step S 10 , where a new, zoomed map is generated. Once the new map is generated, the program loops back to step S 2 to generate a new set of included records and the program repeats steps S 2 through S 8 .
- the predetermined action could be a display of the record in detail showing all field values, presenting an editing screen for updating the record, initiating a phone call or an e-mail message to a place or person referred to in the record, or anything else that could be done with just one record.
- FIG. 9 is a block diagram of an embodiment of a mapping system 800 using an Internet connection.
- a Web browser 802 is used by the user to interact with a Web server 804 via a TCP/IP interface 806 and the Internet 808 .
- Web server 804 provides maps overlaid with icons to Web browser 802 , which displays the maps and allows the user to click on points on that map.
- Web browser 802 returns to Web server 804 and mouse clicks which Web server 804 would need to have to generate a new map.
- Web server 804 obtains the overlaid maps from a map overlay system 810 which operates substantially as described above, using a map database 812 to obtain maps and store database 814 to obtain records about the location of stores. Of course, the records mapped need not be store records.
- map overlay system 810 will request the initial map from map database 812 .
- map database 812 is a data structure containing map data, but also includes an engine interface whereby map overlay system 810 requests maps by specifying a scale and the four edges of the desired map. As the user selects points on the map, map overlay system 810 will generate new maps according to the process described in connection with FIG. 8.
- Mapping system 800 is useful where the user does not control the map data or the store data. It also allows for easy updating of store locations and other data in store database 814 because it is centralized. Mapping system 800 could also be attached to a company's Web site is such as way that the store location function appears to be part of the company's Web site, but is actually served by a map service provider. This allows for easy updates of map serving software and the underlying maps, since all of that is in one place.
- the representation of the clusters can be performed by providing the user with summary statistics and summary graphs of the fields and/or combination of fields in each cluster. The user would use this summary information to select his/her desired cluster or record.
- FIG. 10 where a file directory structure to be navigated is laid out. Analogous to the location maps, distances between files can be determined, so they can be clustered. The distance between two files might be the number of links to be traversed from one file to the other, or the number of links from a common ancestor of both files to the file furthest from the common ancestor.
- FIG. 10 shows a selection display for a hierarchical directory structure.
- the labels shown with cross-hatching are cluster icons for the hierarchical directory list and item icons are shown with gray labels.
- the cross-hatched label “repair” refers to a directory of that name which contains files meting the search criteria.
- the file “WINPRINT.DLL” is an individual file meting the search criteria. If the user selects one of the cluster items, a new and expanded display is presented showing the files and clusters underneath the selected subdirectory in more detail.
- FIG. 10 shows twelve icons, which are either cluster icons or item icons. As each display is generated, the substitution of a cluster icon for a plurality of individual item icons is performed until sufficiently few individual icons remain. Of course, in some cases, such as a single directory having hundreds of files meting the search criteria cannot be effectively clustered using just a file's subdirectory as the cluster parameter.
- FIG. 11 illustrates the use of clustering to optimally fill a display 900 .
- Display 900 is a display which might be used to gain insight into a database of cars available for sale. In this particular example, if all the cars for sale were shown, display 900 would list 4911 items, which cannot be shown all at once in a visible, understandable manner. As should also be apparent, since the cars are grouped into only four categories, limiting the display to only categories, only half of the available display space would be used. With the approach of the present invention, however, some of the items are shown by item labels and others are represented by category labels. In FIG. 11, three item labels 902 and four category labels 904 are shown (however, one of the category labels, 904 a , does not represent any items, as all of its items are represented by item labels 902 ).
- the labels 902 , 904 which represent items or categories are underlined in the display to indicate to the user that the label can be selected to obtain information about the data which the label represents.
- selecting via a “mouse click” on the item label or other methods
- an item label 904 will result in a display of information about the selected item
- selecting a category label will result in a display of item labels for items in that category, a request for more information, a listing of items using subcategory labels, or some combination of these.
- the “Electric” category is opened up to show all of its items, but none of the other categories are opened. If they were, the listing would not fit into display 900 , because at least 31 more lines would be used (if the next smallest category, “Antique”, is opened).
- a processor such as the CPU shown in FIG. 5 and described above, determines how much space is available after the display of the category labels, and then opens categories beginning with the smallest category, until there is no space left in the display to open another category.
- the processor might set a threshold count and tentatively open each category having a number of items equal to or less than the threshold count and then adjust the threshold count to shrink or expand the list to best fit the display area.
- FIG. 11 also shows dynamic data fields 906 . These fields are used to display information about an item or a category when a cursor 908 is moved over the item or category. If cursor 908 is over a category, data fields 906 present summary information about the items in that category, such as the average value for a field in the records for those items. If cursor 908 is over an item, data fields 906 present detailed information about the item. The detailed information can either be the specific values for the same field as used when cursor 908 is over a category or other information.
- a display area can be efficiently populated, while giving the user an indication of the overall organization of the data in the database.
Abstract
A user is presented with a display of item labels and category labels, where item labels are shown to the extent that categories contain not more than a threshold count of items. Alternatively, the item labels are shown to the extent that display area is left over after the display of category labels, and the categories for which item labels are shown are selected from the smallest categories to the largest.
Description
- This application is a continuation-in-part of U.S. patent application No. 08/711,300, filed Sep. 6, 1996. That patent application is incorporated by reference herein for all purposes.
- This invention relates to computer database searches. More precisely, this invention provides an improved interface for performing computer database searches and filtering search results.
- In the typical database search, a user queries the database by selecting a set of criteria (a request) and submitting those criteria to a database engine. The criteria might be in the form of a range of allowable values for a given field, an upper limit, a lower limit, or an exact match. Multiple field criteria can be combined by the use of logical operators (e.g., NOT, AND, OR, GREATER_THAN). The criteria might also include comparisons between multiple fields (e.g., AGE>=IQ). Once the criteria are submitted to the database engine, the database engine selects all the records in the database that meet all of the criteria selected by the user and returns those records to the user.
- Many different methods have been utilized to facilitate the user's creation of database requests. One standard for specifying database search criteria to the database engine is Structured Query Language (SQL). SQL statements are strings of text and numbers which define the search request. If the end user requesting data from a database is proficient in SQL, the end user can specify the SQL statement directly. However, where the end user is not proficient in SQL programming, a user interface might be provided to allow the end user to intuitively select elements from the user interface, which are then converted into SQL statements for submission to an SQL-capable database engine. Many user interfaces which convert user input into SQL statements are known. In some interfaces, a user answers a series of questions, fills out an on-screen form or selects from a finite number of choices using a mouse or other pointing device.
- Once such search request is submitted, the database engine returns the records meeting the criteria, if any, and the user interface displays the records or some indication of the records. Several methods have been used to display the data returned from the database query, such as tables, charts, graphs, and graphic images such as maps or tree structures. The term “maps” as used herein can be geographical maps or logical maps laying out data points in an N-dimensional coordinate system.
- It is also known to allow for refinement of a database search after the results of an initial search have been obtained. A refinement search is often desired by users where the initial search produces too many or too few records. With a refinement search, users might edit the initial search request or add additional criteria to the initial search request. By doing so, users can find the proper quantity and quality of records they need.
- An important factor in determining a proper search criteria is prior knowledge of the database and the distribution of the values in each field. For example, the user knows that the database contains only a listing of Democrats, a search for male Republicans over the age of fifty living in cities of at least one million people will turn up no records. The user might then waste time refining the search by first eliminating any limitation on the size of the city, then eliminating the age limitation, eventually to discover that there are no Republicans in the database. The opposite result, too many records, could occur if the user specified too general a set of search criteria. In that case, the user might also waste time iteratively narrowing the search with little effect. Often, the success of a database search is dependent upon luck.
- Another shortcoming of most current search methodologies is that users do not gain any knowledge during the search process to help refine their search. In some systems, database records, especially geographical databases, present records to the user as a set of dots overlaid on a map. While such an interface might be useful for a few dots, it becomes impractical for use with a large number of dots.
- With large numbers of dots, either the dots will be too small to be selected with a pointing device or, if large enough, the dots will obscure other dots. FIG. 1 illustrates the former problem; FIG. 2 illustrates the latter.
- One way to avoid the selection problem is to allow the user to click the pointing device near the point of interest and treat the click as the selection of all points within a radius (“a radius search”). Of course, this has the disadvantage of selecting too many records, too few records or the wrong records.
- Another way to avoid the selection problem is to have a user select on arbitrary boundaries such as state boundaries, and gets a text listing of all the locations in that state, and possibly a further graphical selection of a county or region. The state selection is shown in FIG. 3. The disadvantage of this approach is that the user, at most, knows only whether or not a state contains at least one dot.
- In addition to geographical data and other data which can be plotted in a two-dimensional plane (or an N-dimensional coordinate system with N being an integer greater than zero), data in searchable hierarchical structures often need to be searched.
- One way to present the data points in a hierarchical structure search is to present all the data points. However, with large numbers of data points, this is impractical.
- For example, Microsoft Words™ word processing software provides a feature for searching for files among the hierarchical directory structure of a disk. The matching files are displayed in a directory tree structure showing each of the directors for the files along with their parent directories. While this is useful for a small number of files, the display for a large number of files would not fit on the screen and thus the user must scroll through the listing or manually “collapse” uninteresting directory structures to be able to see the directory structures of interest. This approach does not give the user a “big picture” view of file structures, unless the user knows what the big picture looks like and creates it for themselves.
- Yet another shortcoming of prior art information displays appears when there are more items to be listed than can fit on a display. One solution is to list all the items on a scrollable list. The other is to group the items into categories and display categories first, allow the user to select one of the categories, then display the items matching the selected category. Neither of these approaches is entirely satisfactory, however. In the former case, too much data and not enough information is presented. In the latter case, depending on the categories, the display might be underused.
- Therefore, what is needed is an improved search interface which presents the user with information and views of the overall data being searched, in order to allow for an informed search.
- In one embodiment of a search interface according to the present invention, a user is presented with a display map from which the user selects database records of interest. For the records which are in range of the display map's limits, a cluster evaluator groups some of the records into clusters. Generally, a cluster is a set of records which would be clustered on the display map. On the display map, unclustered records are represented by item icons, while clusters are represented by cluster icons. If a user selects an item icon, the associated record is selected and a predetermined action is taken. If a cluster icon is selected, the display map is “zoomed in” to show greater detail around the cluster. Typically, a number of clustered records become unclustered records when the zooming occurs, because the clustering criteria are sharpened. The user can iteratively select clusters, resulting in greater and greater detail, until the user selects an item icon and the predetermined action is taken with that record. The predetermined action could be any action which might be taken with an individual record, such as displaying additional fields for the record, initiating a process for manipulating the record, or the like.
- The term “icon,” as used herein, refers to a user interface element which is presented to the user and is selectable by the user using a pointing device. Depending on context, icons can be regular shapes or irregular shapes, can have identified borders or implied borders, and can either be illustrated with a graphic that hints to the meaning of the icon or can be a plain area whose meaning is identified by context.
- The records are mapped to the display based on field values of the record. For example, a two-dimensional map could be used to display records which contain longitude and latitude values. The same principles could be used for one-dimensional data, three-dimensional data, or higher dimensional data which can be suitably represented on a two- or three-dimensional display. If the search data is numerical data from as many fields as the display has dimensions, cluster icons are graphically displayed as shaded regions on a graph or map, roughly coextensive with the mappings of the records to the display. Unclustered records are graphically represented by item icons at the location corresponding to the field data of the records. Thus, a user can easily see where the clusters are, where the unclustered records are, and regions where no records exist. Clusters might overlap, so that one record is clustered into more than one cluster. By selecting a particular cluster, the user reduces the dataset to a subset which contains only those records which were clustered into the selected cluster. The new subset is then clustered to allow the users to narrow their search further, and the selection process to begin again. The users can end their search at any time, but eventually, the dataset will be reduced to a set of records that do not cluster.
- The present invention can also be used to present hierarchical structures for user selection of records from such structures. Examples of such hierarchical structures include electronic file storage directory structures, organizational charts within large organizations, plain hypertext pages on a Web site, or an intranet. In such cases, clustering is done by using a metric which is the number of links rather than a distance in a coordinate system or a weighted metric which takes into account hierarchies where some links are more important than others, such as taxonomy hierarchy. For example, two files in the same directory would be deemed to have a metric between them of 0 and a file in a parent directory would have a metric between a file in an immediate subdirectory of 1. For files which are “cousins,” the metric could either be the number of links in the shortest path between the two files (2) or the number of links to a common ancestor (1). Such a clustering process might prove to be highly useful in sorting through corporate data, if it is clustered and organized according to an organizational chart, wherein information provided by departments nearer to the user's department is given more prominence than information from departments which are “farther” away on the organization chart. Presentation of hierarchical information would also be greatly simplified using the present invention, as many search engines or searching Worldwide Web sites tend to either show too many hits or too few hits. For example, a large URL (uniform resource locator) database such as YAHOO!'s database (http://www.yahoo.com/) would provide too many references matching the word “team” to be of use to a searcher. However, with the clustering user interface of the present invention and a starting point, such as the “Oakland Raiders” subcategory of Yahoo!'s hierarchical subject database, the user could be presented with all the hits, where many of the hits are clustered into a single entry. The user would be provided with a cluster icon to “open” that cluster, possibly leading to other clusters. Instead of a URL database, the invention could also be applied to a “yellow pages” database.
- In order to achieve a manageable number of clusters the clustering algorithm can incrementally increase the minimum distance separating two clusters. As the distance increases, the number of clusters will decrease. When the total number of clusters becomes less than a predetermined threshold, that distance is used in the clustering algorithm. An alternative method for incremental clustering would be to initially create clusters of records that are separated by very small distances and then gradually combine these clusters into bigger clusters until the total number of clusters becomes less than the threshold. In order to prevent creating too few clusters, the clustering process can be modified to terminate before all cluster pair distances are calculated. For instance, if a current step of clustering is combining all clusters less than five miles apart, the clustering process could terminate when the goal of getting the total number of clusters of less than twenty has been achieved even though there are still clusters less than five miles apart remaining.
- In yet another application of clustering, a list of categorized items are displayed as a list of labels, where a label is a textual and/or graphical indication of what the label represents. Each label represents either an item or a category, where an item label represents an individual item, while a category label represents an entire category of items. A display manager determines which items are shown individually and which are grouped by category so that the full display is used. One method of filling a display is to set a threshold count and to tag for individual display all items in categories having no more than the threshold count of items and to tag for category display the items in categories having more than the threshold count of items. The threshold count is then adjusted so that the labels just fill the display. Thus, if there are too many labels, the threshold count is raised, and if there are too few labels, the threshold count is lowered, until the threshold count reaches one, at which point the display will show all of the items with item labels.
- A further understanding of the nature and advantages of the inventions herein may be realized by reference to the remaining portions of the specification and the attached drawings.
- FIG. 1 is a clickable map with small squares on the map representing individual records in a database of records where each record has a location within the map of the continental United States.
- FIG. 2 is a clickable map with large squares as used in the prior art.
- FIG. 3 is a clickable map where a state of interest is selected.
- FIG. 4 is a front view of a computer system which could be used to implement the present invention.
- FIG. 5 is a block diagram of the components of the computer system shown in FIG. 4 as they relate to the present invention.
- FIG. 6 is a clickable map according to the present invention with unclustered item icons and cluster icons are overlaid on a map.
- FIG. 7 is a clickable map which results from user selection in FIG. 6 of the cluster under the mouse cursor.
- FIG. 8 is a flowchart of a display process according to the present invention.
- FIG. 9 is a block diagram of a networked system over which the present invention could be used.
- FIG. 10 is a map of a directory structure which can be searched using the present invention.
- FIG. 11 is a block diagram of a display in which items are represented by item labels and category labels.
- The present invention can operate on a wide variety of computers with a number of suitable configurations, each being the preferred embodiment for a particular implementation. For example, a palmtop implementation might be preferred for use with a restaurant finding device designed to be used by a person walking around looking for a good restaurant meeting the person's criteria. A desktop model, with high resolution graphics and a direct Internet connection might be preferred for an office-based application. This detailed description of the invention will describe an embodiment using a desktop computer and an embodiment using the Internet (the global internetwork of networks generally referred to by that name), although it should be understood that many other configurations of computing devices might also be used to provide similar functionality. For example, the user might be an Internet or Intranet surfer, a system administrator, an email administrator or an interactive television viewer/user. The computing device might also be a mainframe terminal or computer kiosk.
- FIG. 4 shows a
typical desktop computer 10 made up of asystem box 12 enclosing ahard disk 14, akeyboard 16, amouse 18, and amonitor 20 including adisplay surface 22. As is well known in the art,desktop computer 10 can be programmed with programs stored onhard disk 14 to perform various tasks. These tasks might involve accepting user input fromkeyboard 16 andmouse 18, and/or displaying images or text ondisplay surface 22. The input frommouse 18 is in the form of either movement in two dimensions (rolling the mouse) or clicking (pressing one of the mouse buttons). It is also well known to replacemouse 18 with equivalent two-dimensional pointing devices, or even three-dimensional pointing devices. With suitable software or hardware, monitor 20 can be made to display three-dimensional images, as is well known in the graphic arts. - FIG. 5 is a block diagram illustrating the typical contents of
system box 12 in more detail. A central processing unit (CPU) 202 executes programs stored in aprogram memory 204 by reading program instructions fromprogram memory 204 viaprocessor bus 206. Of course, multiple CPU's could be provided for faster operation in some computer systems.CPU 202 interprets input signals frommouse 18 provided onbus 206 after being suitably transformed by amouse driver 208 which might be hardware, software, or a combination of both.CPU 202 uses a RAM (random access memory) 210 for storage of program variables as needed.Bus 206 also provides a path forCPU 202 to send output signals to displaysurface 22 of monitor 20 (see FIG. 4) via adisplay driver 222 andvideo display memory 224. If used,desktop computer 10 can communicate over a network with anetwork connection 218. - To
program desktop computer 10 according to the present invention,hard disk 14 is loaded with amap database 220 and one or more programs. To begin executing a program which implements the present invention,CPU 202 causes the program to be loaded fromhard disk 14 intoprogram memory 204. In a typical personal desktop computer,program memory 204 andRAM 210 are different segments of one memory structure. As shown in FIG. 5, the program includes acluster evaluator 230, adisplay generator 232, aninput processor 234, adatabase query interface 236 and arecord action module 238. Other components, such as a database engine, are included but not shown in FIG. 5. - Using the system described in FIGS.4-5, a user will select records from
map database 220 and have a selected record acted on byrecord action module 238. A process of using the system according to the present invention is described in more detail in connection with FIGS. 6-7. First, two examples of the prior art will be described. In both the prior art and the presently described inventive embodiment are user interfaces in which the user's goal is to select a record according to geographical location. One use of such a system is to allow users to select one store of a national chain of stores and perform an action with respect to that store (e.g., dial that store's telephone number, get a map of surface streets giving directions to the store, get listings of hours of operation, products carried, manager name, etc.). - FIG. 1 shows one method of record selection known in the prior art. Each of the small black squares on the map represents one store. To select a store, the user positions a
mouse cursor 250 over the desired one of the black squares and clicks a mouse button to select the store. While that may be useful in areas where there are few stores, such as Colorado and Oklahoma, it would be very difficult for the user to position the mouse exactly to select the desired store if it were in California, Washington, Texas or the East Coast. The selection difficulty increases if the display uses, instead of small black squares, icons displaying the company's logo. - FIG. 2 shows what a user interface might look like if icons displaying a company's logo were to be presented in each dot. As FIG. 2 shows, the logo icons would be completely unwieldy even with only a few locations.
- FIG. 3 shows one way to avoid the problems illustrated in FIGS.1-2. Instead of the user having to select one store from all the national stores, the user instead selects the state of interest. In FIG. 3, the user has positioned the cursor and selected the state of Wyoming. In response, the computer would show an expanded, zoom display of the state of Wyoming. As could have been seen from FIG. 1 or FIG. 2, the selection of Wyoming is fruitless because there are no stores in Wyoming. On the other hand, the user might have selected California, which does have many stores. However, the computer might need to zoom in one more level if too many stores are represented in the state view.
- FIG. 6 shows an
improved display 300 according to the present invention. Overlaid on a map of the contiguous United States,display 300 includesitem icons 302 andcluster icons 304.Item icons 302 represent the locations of individual stores which are not clustered with other stores as determined bycluster evaluator 230. Usingmouse cursor 310, the user can select either acluster icon 304 or anitem icon 302. If the user selects anitem icon 302, the computer responds with the predetermined item action. If the user selects a cluster icon, such as the one shown undermouse cursor 310, the computer zooms in to the map shown in FIG. 7. As should be apparent from FIG. 6, the user can easily identify where there are no stores and where there are collections of stores. Note that the data and the cluster icons are not necessarily constrained by state or other boundaries. The shape of the cluster icons are determined by the locations of their constituent items, as explained below. - Referring now to FIG. 7, the zoomed in
map 320 now shows several individual stores in a second layer of clusters. The process of zooming continues until the user aborts or selects an item icon. Note that, in FIGS. 6-7, the individual icons can be large enough to show the company's logo (“K” for the imaginary sunglass retailer “Kool Shades” used for this example) without interfering with the selection process. - The display maps shown in FIGS.6-7 are generated by
computer system 10 according to the process shown in the flowchart of FIG. 8. That flowchart includes a series of steps numbered in ascending order which are executed in that order except where indicated. In the first step (S1), the computer determines the map bounds. For a national chain such as Kool Shades, the default initial map bounds are defined by the rectangle enclosing the contiguous United States. In step S2, the computer determines which records are within the map bounds. These are the records the user can select among. - Of the selectable records, cluster membership is determined (S3). Each cluster has a set of records which are its members. In the illustrations provided here, each record is either a member of no cluster or a member of one cluster. However, the system could be designed to allow a record to be in more than one cluster, so long as each cluster contains a subset of records significantly smaller in size than the set of all records. Many of the different clustering algorithms in different fields of math and science will function adequately for this purpose, depending on the goals of the search and type of data. Other clustering factors, such as the metric used and the normalization of metrics, play important roles in the search process.
- One method for clustering uses a geographic distance metric. Each record for a Kool Shades store includes the longitude and latitude of the store. Using this information, the geographic distance between two stores is easily calculated using known techniques.
- With other types of data, a metric can be generated from the values for the data. For example, if the user were selecting records not based on a geographic location, but based on the records' “locations” on a plot of two field values, those field values might need to be normalized. One way to normalize the values is to scale each axis of the plot so that the values fall within a square. This is equivalent, for a first field and a second field, to dividing each first field value by the range of first field values and dividing each second field value by the range of second field values.
- Although not required for distance calculations, the values can be transformed so that all normalized values fall between zero and one. Thus, a new value, V′, for a field value can be calculated from the original field value, V, with the formula:
- V′=K(V−L)/(H−L)
- where L is the lowest field value and H is the highest field value. The multiplicative constant K is set to one to keep all values in the range from zero to one, but it could be set to any other suitable value.
- In any case, not only can a position in the two-dimensional display space can be found for any record, the “distance” between any two records can be found. These distances are used to determine which records cluster with which other records. One method for clustering data is to consider each record as an N-dimensional sphere (a circle in the case of Kool Shades stores). Any records whose spheres intersect would be clustered together. The radius of the spheres may depend on the needs of the application, the total number of records, the distance between map boundaries and the density of records in particular locations.
- In the case of exclusive clustering (each record is a member of at most one cluster), the following pseudocode describes the process of assigning records to clusters:
- Main Program: Find All Clusters
- Begin Loop (for each Record)
- If Record is Unclustered then Begin
- Create New Cluster
- Add_Record (Record, New_Cluster)
- End If Then
- End Loop
- End Program
- Procedure Add_Record (Record, Cluster)
- Put Record in Cluster
- Begin Loop (for each Unclustered Record)
- If (Distance (Record, Unclustered Record)<Threshold) then Add_Record (Unclustered Record, Cluster)
- End Loop
- End Procedure
- The result of this process is that each unclustered record will be assigned to one cluster and any record which is within a sphere radius of a clustered record will be a member of that cluster. As should be apparent, the size of the cluster is often dependent on the distribution of its members. In the above program implementation, all records are assigned to clusters, with the unclustered records each being the sole member of their cluster. Although, technically, they may be assigned to such solo clusters, they are considered to be unclustered.
- Once the clusters and unclustered records are determined, the cluster icon shapes are calculated (S4). Of course, if the data is not graphically displayable, this step need not be done. A cluster icon can just be a shaded area covering the union of the circles for each record in the cluster. An algorithmically easier method for determining shape is to consider each record as a square or a cube. The shape of the cluster is then derived by using polygons to outline the shape of the union of the squares or cubes.
- In step S5, the map is overlaid with cluster icons and item icons. In step S6, the map and overlays are displayed to the user. As explained above, the user can easily see where unclustered records are, where clusters are, the clusters' extents and the areas where no records are to be found.
- In step S7, user input is accepted and in step S8, the type of user input is evaluated. If the user clicks on the map outside an item icon or a cluster icon, the program flow is from step S8 back to S7 (i.e., no action is performed). If the user selects an item icon, the predetermined action for items is performed (S9), be it displaying a street map with directions to the individual store or other data about that individual record. If the user selects a cluster icon, the program proceeds to step S10, where a new, zoomed map is generated. Once the new map is generated, the program loops back to step S2 to generate a new set of included records and the program repeats steps S2 through S8. Where applicable, the predetermined action could be a display of the record in detail showing all field values, presenting an editing screen for updating the record, initiating a phone call or an e-mail message to a place or person referred to in the record, or anything else that could be done with just one record.
- A concrete example is presented here for further explanation of the process. Suppose data fields to be clustered were latitude and longitude and the cluster icons and item icons were to be displayed on a 400×400 pixel map of the contiguous United States. A radius of 8 pixels could then be used to cluster 1000 records scattered over a map of the United States. Since the scale on the US map is roughly 10 miles/pixel, records within 80 miles of each other would be clustered (i.e., the initial cluster threshold would be 80 miles). If the user selects a cluster and the zoomed in map has a resolution of roughly 2 miles/pixel, records within 16 miles of each other will then be clustered. The result of the larger scale is that more locations are separated and more sub-clusters are created. Of course, with dynamic thresholding, the threshold distance is adjusted to obtain a suitable number of clusters.
- The basic embodiment of the invention having been described, two variations will now be described. FIG. 9 is a block diagram of an embodiment of a
mapping system 800 using an Internet connection. Inmapping system 800, aWeb browser 802 is used by the user to interact with aWeb server 804 via a TCP/IP interface 806 and theInternet 808.Web server 804 provides maps overlaid with icons toWeb browser 802, which displays the maps and allows the user to click on points on that map.Web browser 802 returns toWeb server 804 and mouse clicks whichWeb server 804 would need to have to generate a new map.Web server 804 obtains the overlaid maps from amap overlay system 810 which operates substantially as described above, using amap database 812 to obtain maps andstore database 814 to obtain records about the location of stores. Of course, the records mapped need not be store records. - Initially,
map overlay system 810 will request the initial map frommap database 812. Typically,map database 812 is a data structure containing map data, but also includes an engine interface wherebymap overlay system 810 requests maps by specifying a scale and the four edges of the desired map. As the user selects points on the map,map overlay system 810 will generate new maps according to the process described in connection with FIG. 8. -
Mapping system 800 is useful where the user does not control the map data or the store data. It also allows for easy updating of store locations and other data instore database 814 because it is centralized.Mapping system 800 could also be attached to a company's Web site is such as way that the store location function appears to be part of the company's Web site, but is actually served by a map service provider. This allows for easy updates of map serving software and the underlying maps, since all of that is in one place. - In situations where the clusters and individual records cannot be displayed in a graph or map, the representation of the clusters can be performed by providing the user with summary statistics and summary graphs of the fields and/or combination of fields in each cluster. The user would use this summary information to select his/her desired cluster or record. One such example is shown in FIG. 10, where a file directory structure to be navigated is laid out. Analogous to the location maps, distances between files can be determined, so they can be clustered. The distance between two files might be the number of links to be traversed from one file to the other, or the number of links from a common ancestor of both files to the file furthest from the common ancestor.
- FIG. 10 shows a selection display for a hierarchical directory structure. The labels shown with cross-hatching are cluster icons for the hierarchical directory list and item icons are shown with gray labels. For example, the cross-hatched label “repair” refers to a directory of that name which contains files meting the search criteria. The file “WINPRINT.DLL” is an individual file meting the search criteria. If the user selects one of the cluster items, a new and expanded display is presented showing the files and clusters underneath the selected subdirectory in more detail. FIG. 10 shows twelve icons, which are either cluster icons or item icons. As each display is generated, the substitution of a cluster icon for a plurality of individual item icons is performed until sufficiently few individual icons remain. Of course, in some cases, such as a single directory having hundreds of files meting the search criteria cannot be effectively clustered using just a file's subdirectory as the cluster parameter.
- FIG. 11 illustrates the use of clustering to optimally fill a
display 900.Display 900 is a display which might be used to gain insight into a database of cars available for sale. In this particular example, if all the cars for sale were shown,display 900 would list 4911 items, which cannot be shown all at once in a visible, understandable manner. As should also be apparent, since the cars are grouped into only four categories, limiting the display to only categories, only half of the available display space would be used. With the approach of the present invention, however, some of the items are shown by item labels and others are represented by category labels. In FIG. 11, threeitem labels 902 and fourcategory labels 904 are shown (however, one of the category labels, 904 a, does not represent any items, as all of its items are represented by item labels 902). - The
labels item label 904 will result in a display of information about the selected item, whereas selecting a category label will result in a display of item labels for items in that category, a request for more information, a listing of items using subcategory labels, or some combination of these. - As shown in FIG. 11, the “Electric” category is opened up to show all of its items, but none of the other categories are opened. If they were, the listing would not fit into
display 900, because at least 31 more lines would be used (if the next smallest category, “Antique”, is opened). To automatically determine which categories to open, a processor, such as the CPU shown in FIG. 5 and described above, determines how much space is available after the display of the category labels, and then opens categories beginning with the smallest category, until there is no space left in the display to open another category. Alternatively, the processor might set a threshold count and tentatively open each category having a number of items equal to or less than the threshold count and then adjust the threshold count to shrink or expand the list to best fit the display area. - FIG. 11 also shows dynamic data fields906. These fields are used to display information about an item or a category when a
cursor 908 is moved over the item or category. Ifcursor 908 is over a category,data fields 906 present summary information about the items in that category, such as the average value for a field in the records for those items. Ifcursor 908 is over an item, data fields 906 present detailed information about the item. The detailed information can either be the specific values for the same field as used whencursor 908 is over a category or other information. - Using the category labels and item labels, a display area can be efficiently populated, while giving the user an indication of the overall organization of the data in the database.
- The above description is illustrative and not restrictive. Many variations of the invention will become apparent to those of skill in the art upon review of this disclosure. The scope of the invention should, therefore, be determined not with reference to the above description, but instead should be determined with reference to the appended claims along with their full scope of equivalents.
Claims (7)
1. A method of presenting a user with selection of items, wherein each item is characterized as being a member of one category selected from a plurality of categories, the method comprising the steps of:
determining a number of categories which are to be represented in a display;
determining a number of selections which can be presented at one time in the display, a selection being either an item or a category;
displaying at least one item label and at least one category label, where the category label represents the items in the category, where the items and categories displayed are determined as a function of the number of categories, the number of selections and a threshold count, wherein items from categories with no more than the threshold count are represented by individual item labels and items from categories with more than the threshold count are collectively represented by one of the at least one category labels.
2. The method of , further comprising the step of accepting user input selection of either an item label or a category label.
claim 1
3. The method of , further comprising the step of generating a regenerated display following the selection of a label, wherein the regenerated display is a display filtered according to the selected label.
claim 2
4. The method of , further comprising a step of setting the threshold count to a value which is calculated to fill the display with labels.
claim 1
5. A method of presenting a user with selection of items, wherein each item is characterized as being a member of one category selected from a plurality of categories, the method comprising the steps of:
determining a number of categories which are to be represented in a display;
determining a display area;
determining how much of the display area would be left over area, if any, after display of category labels representing items;
designating at least one category as an open category, based on the number of items in the category;
displaying an item label for each item in the at least one open category and other open categories, if any, and a category label for each unopen category.
6. The method of , wherein the step of designating at least one category as an open category is a step of designating categories as open from the smallest category to the largest category until a category is reached which will result in a display of item labels and category labels which will fill but not exceed a display area.
claim 5
7. The method of , further comprising steps of:
claim 5
when a cursor is over a category label, displaying summary information about the items in the category associated with the category label; and
when the cursor is over an item label, displaying detailed information about the item associated with the item label.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/839,440 US20010015733A1 (en) | 1996-09-06 | 2001-04-20 | Clustering user interface |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/711,300 US5790121A (en) | 1996-09-06 | 1996-09-06 | Clustering user interface |
US08/861,365 US6025843A (en) | 1996-09-06 | 1997-05-21 | Clustering user interface |
US09/416,172 US6243094B1 (en) | 1996-09-06 | 1999-10-11 | Clustering user interface |
US09/839,440 US20010015733A1 (en) | 1996-09-06 | 2001-04-20 | Clustering user interface |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/416,172 Continuation US6243094B1 (en) | 1996-09-06 | 1999-10-11 | Clustering user interface |
Publications (1)
Publication Number | Publication Date |
---|---|
US20010015733A1 true US20010015733A1 (en) | 2001-08-23 |
Family
ID=27108615
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US08/861,365 Expired - Fee Related US6025843A (en) | 1996-09-06 | 1997-05-21 | Clustering user interface |
US09/416,172 Expired - Lifetime US6243094B1 (en) | 1996-09-06 | 1999-10-11 | Clustering user interface |
US09/839,440 Abandoned US20010015733A1 (en) | 1996-09-06 | 2001-04-20 | Clustering user interface |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US08/861,365 Expired - Fee Related US6025843A (en) | 1996-09-06 | 1997-05-21 | Clustering user interface |
US09/416,172 Expired - Lifetime US6243094B1 (en) | 1996-09-06 | 1999-10-11 | Clustering user interface |
Country Status (1)
Country | Link |
---|---|
US (3) | US6025843A (en) |
Cited By (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050093881A1 (en) * | 2000-04-24 | 2005-05-05 | Aspect Communication Corporation | Apparatus and method for collecting and displaying information in a workflow system |
US20050165824A1 (en) * | 2004-01-23 | 2005-07-28 | Farnham Shelly D. | Selective multi level expansion of data base via pivot point data |
US20060212740A1 (en) * | 2005-03-16 | 2006-09-21 | Jackson David B | Virtual Private Cluster |
GB2458646A (en) * | 2008-03-26 | 2009-09-30 | Triad Group Plc | Object and group marker display |
US20100111372A1 (en) * | 2008-11-03 | 2010-05-06 | Microsoft Corporation | Determining user similarities based on location histories |
US20100153292A1 (en) * | 2008-12-11 | 2010-06-17 | Microsoft Corporation | Making Friend and Location Recommendations Based on Location Similarities |
US20110022451A1 (en) * | 2009-07-27 | 2011-01-27 | Mobile Genius, Llc | Advertising content for mobile devices |
US20120001939A1 (en) * | 2010-06-30 | 2012-01-05 | Nokia Corporation | Methods, apparatuses and computer program products for automatically generating suggested information layers in augmented reality |
US20140063020A1 (en) * | 2012-08-30 | 2014-03-06 | Fannie Mae | System and method for mapping and comparing choroplethic housing statistics |
US8705897B1 (en) | 2001-12-17 | 2014-04-22 | Google Inc. | Method and apparatus for archiving and visualizing digital images |
US20140229967A1 (en) * | 1998-03-04 | 2014-08-14 | United Video Properties, Inc. | Program guide system with monitoring of advertisement usage and user activities |
US9225663B2 (en) | 2005-03-16 | 2015-12-29 | Adaptive Computing Enterprises, Inc. | System and method providing a virtual private cluster |
US9349147B2 (en) | 2011-11-01 | 2016-05-24 | Google Inc. | Displaying content items related to a social network group on a map |
US10445146B2 (en) | 2006-03-16 | 2019-10-15 | Iii Holdings 12, Llc | System and method for managing a hybrid compute environment |
US10565560B2 (en) * | 2014-11-12 | 2020-02-18 | Successfactors, Inc. | Alternative people charting for organizational charts |
US10608949B2 (en) | 2005-03-16 | 2020-03-31 | Iii Holdings 12, Llc | Simple integration of an on-demand compute environment |
US11321347B1 (en) * | 2020-10-20 | 2022-05-03 | X Development Llc | Partitioning agricultural fields for annotation |
US11467883B2 (en) | 2004-03-13 | 2022-10-11 | Iii Holdings 12, Llc | Co-allocating a reservation spanning different compute resources types |
US11494235B2 (en) | 2004-11-08 | 2022-11-08 | Iii Holdings 12, Llc | System and method of providing system jobs within a compute environment |
US11496415B2 (en) | 2005-04-07 | 2022-11-08 | Iii Holdings 12, Llc | On-demand access to compute resources |
US11522952B2 (en) | 2007-09-24 | 2022-12-06 | The Research Foundation For The State University Of New York | Automatic clustering for self-organizing grids |
US11526304B2 (en) | 2009-10-30 | 2022-12-13 | Iii Holdings 2, Llc | Memcached server functionality in a cluster of data processing nodes |
US11630704B2 (en) | 2004-08-20 | 2023-04-18 | Iii Holdings 12, Llc | System and method for a workload management and scheduling module to manage access to a compute environment according to local and non-local user identity information |
US11652706B2 (en) | 2004-06-18 | 2023-05-16 | Iii Holdings 12, Llc | System and method for providing dynamic provisioning within a compute environment |
US11720290B2 (en) | 2009-10-30 | 2023-08-08 | Iii Holdings 2, Llc | Memcached server functionality in a cluster of data processing nodes |
US11960937B2 (en) | 2022-03-17 | 2024-04-16 | Iii Holdings 12, Llc | System and method for an optimizing reservation in time of compute resources based on prioritization function and reservation policy parameter |
Families Citing this family (138)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6259969B1 (en) | 1997-06-04 | 2001-07-10 | Nativeminds, Inc. | System and method for automatically verifying the performance of a virtual robot |
US6363301B1 (en) | 1997-06-04 | 2002-03-26 | Nativeminds, Inc. | System and method for automatically focusing the attention of a virtual robot interacting with users |
US6392667B1 (en) * | 1997-06-09 | 2002-05-21 | Aprisma Management Technologies, Inc. | Method and apparatus for representing objects as visually discernable entities based on spatial definition and perspective |
US6320592B1 (en) * | 1997-06-30 | 2001-11-20 | Sun Microsystems, Inc. | Method and apparatus for separating image data from a color system in image processing |
US6301607B2 (en) * | 1998-02-06 | 2001-10-09 | Netergy Networks, Inc. | Arrangement and method for displaying and sharing images |
US6323885B1 (en) * | 1998-09-18 | 2001-11-27 | Steven Paul Wiese | Real estate value map computer system |
US6983313B1 (en) * | 1999-06-10 | 2006-01-03 | Nokia Corporation | Collaborative location server/system |
US6307573B1 (en) * | 1999-07-22 | 2001-10-23 | Barbara L. Barros | Graphic-information flow method and system for visually analyzing patterns and relationships |
US8843850B2 (en) * | 1999-07-22 | 2014-09-23 | Tavusi Data Solutions Llc | Graphic-information flow for visually analyzing patterns and relationships |
JP2001216320A (en) * | 2000-02-03 | 2001-08-10 | Forseti Llc | Retrieval system for service providing area internet |
GB2360106B (en) * | 2000-02-21 | 2004-09-22 | Ac Properties Bv | Ordering playable works |
US20020038299A1 (en) * | 2000-03-20 | 2002-03-28 | Uri Zernik | Interface for presenting information |
US8478732B1 (en) | 2000-05-02 | 2013-07-02 | International Business Machines Corporation | Database aliasing in information access system |
US6711561B1 (en) | 2000-05-02 | 2004-03-23 | Iphrase.Com, Inc. | Prose feedback in information access system |
US7127450B1 (en) * | 2000-05-02 | 2006-10-24 | International Business Machines Corporation | Intelligent discard in information access system |
US6704728B1 (en) * | 2000-05-02 | 2004-03-09 | Iphase.Com, Inc. | Accessing information from a collection of data |
JP2001337996A (en) * | 2000-05-24 | 2001-12-07 | Canon Inc | Image processing device, control method thereof and recording medium |
AU6263101A (en) * | 2000-05-26 | 2001-12-03 | Tzunami Inc. | Method and system for organizing objects according to information categories |
US6738082B1 (en) * | 2000-05-31 | 2004-05-18 | International Business Machines Corporation | System and method of data entry for a cluster analysis program |
US8290768B1 (en) | 2000-06-21 | 2012-10-16 | International Business Machines Corporation | System and method for determining a set of attributes based on content of communications |
US6408277B1 (en) | 2000-06-21 | 2002-06-18 | Banter Limited | System and method for automatic task prioritization |
US9699129B1 (en) | 2000-06-21 | 2017-07-04 | International Business Machines Corporation | System and method for increasing email productivity |
US6734882B1 (en) * | 2000-09-29 | 2004-05-11 | Apple Computer, Inc. | Combined menu-list control element in a graphical user interface |
US20070226640A1 (en) * | 2000-11-15 | 2007-09-27 | Holbrook David M | Apparatus and methods for organizing and/or presenting data |
WO2002041190A2 (en) * | 2000-11-15 | 2002-05-23 | Holbrook David M | Apparatus and method for organizing and/or presenting data |
FI111762B (en) * | 2000-12-28 | 2003-09-15 | Fonecta Ltd | The method for providing the information inquiry service and the information inquiry service system |
US7644057B2 (en) * | 2001-01-03 | 2010-01-05 | International Business Machines Corporation | System and method for electronic communication management |
JP2002229991A (en) * | 2001-01-31 | 2002-08-16 | Fujitsu Ltd | Server, user terminal, system and method for providing information |
US6778193B2 (en) | 2001-02-07 | 2004-08-17 | International Business Machines Corporation | Customer self service iconic interface for portal entry and search specification |
US7506256B2 (en) | 2001-03-02 | 2009-03-17 | Semantic Compaction Systems | Device and method for previewing themes and categories of sequenced symbols |
US7076741B2 (en) * | 2001-03-16 | 2006-07-11 | Alpine Electronics, Inc. | Point-of-interest icon and point-of-interest mark display method |
US7136846B2 (en) | 2001-04-06 | 2006-11-14 | 2005 Keel Company, Inc. | Wireless information retrieval |
US6990495B1 (en) * | 2001-09-05 | 2006-01-24 | Bellsouth Intellectual Property Corporation | System and method for finding persons in a corporate entity |
US7752266B2 (en) | 2001-10-11 | 2010-07-06 | Ebay Inc. | System and method to facilitate translation of communications between entities over a network |
US7343372B2 (en) * | 2002-02-22 | 2008-03-11 | International Business Machines Corporation | Direct navigation for information retrieval |
WO2003090160A2 (en) * | 2002-04-19 | 2003-10-30 | Computer Associates Think, Inc. | Processing mixed numeric and/or non-numeric data |
US7777743B2 (en) * | 2002-04-19 | 2010-08-17 | Computer Associates Think, Inc. | Viewing multi-dimensional data through hierarchical visualization |
US8078505B2 (en) | 2002-06-10 | 2011-12-13 | Ebay Inc. | Method and system for automatically updating a seller application utilized in a network-based transaction facility |
US7383513B2 (en) * | 2002-09-25 | 2008-06-03 | Oracle International Corporation | Graphical condition builder for facilitating database queries |
US20040138988A1 (en) * | 2002-12-20 | 2004-07-15 | Bart Munro | Method to facilitate a search of a database utilizing multiple search criteria |
US7712034B2 (en) * | 2003-03-24 | 2010-05-04 | Microsoft Corporation | System and method for shell browser |
US7421438B2 (en) * | 2004-04-29 | 2008-09-02 | Microsoft Corporation | Metadata editing control |
US7409644B2 (en) * | 2003-05-16 | 2008-08-05 | Microsoft Corporation | File system shell |
US7627552B2 (en) | 2003-03-27 | 2009-12-01 | Microsoft Corporation | System and method for filtering and organizing items based on common elements |
US7240292B2 (en) * | 2003-04-17 | 2007-07-03 | Microsoft Corporation | Virtual address bar user interface control |
US7188316B2 (en) | 2003-03-24 | 2007-03-06 | Microsoft Corporation | System and method for viewing and editing multi-value properties |
US7823077B2 (en) * | 2003-03-24 | 2010-10-26 | Microsoft Corporation | System and method for user modification of metadata in a shell browser |
US7234114B2 (en) * | 2003-03-24 | 2007-06-19 | Microsoft Corporation | Extensible object previewer in a shell browser |
US7769794B2 (en) * | 2003-03-24 | 2010-08-03 | Microsoft Corporation | User interface for a file system shell |
US7890960B2 (en) * | 2003-03-26 | 2011-02-15 | Microsoft Corporation | Extensible user context system for delivery of notifications |
US7827561B2 (en) * | 2003-03-26 | 2010-11-02 | Microsoft Corporation | System and method for public consumption of communication events between arbitrary processes |
US7925682B2 (en) | 2003-03-27 | 2011-04-12 | Microsoft Corporation | System and method utilizing virtual folders |
US7536386B2 (en) * | 2003-03-27 | 2009-05-19 | Microsoft Corporation | System and method for sharing items in a computer system |
US7526483B2 (en) * | 2003-03-27 | 2009-04-28 | Microsoft Corporation | System and method for virtual folder sharing including utilization of static and dynamic lists |
US7587411B2 (en) * | 2003-03-27 | 2009-09-08 | Microsoft Corporation | System and method for filtering and organizing items based on common elements |
US7650575B2 (en) | 2003-03-27 | 2010-01-19 | Microsoft Corporation | Rich drag drop user interface |
US7499925B2 (en) * | 2003-03-27 | 2009-03-03 | Microsoft Corporation | File system for displaying items of different types and from different physical locations |
US7523095B2 (en) * | 2003-04-29 | 2009-04-21 | International Business Machines Corporation | System and method for generating refinement categories for a set of search results |
US8495002B2 (en) * | 2003-05-06 | 2013-07-23 | International Business Machines Corporation | Software tool for training and testing a knowledge base |
US20050187913A1 (en) * | 2003-05-06 | 2005-08-25 | Yoram Nelken | Web-based customer service interface |
JP2005010854A (en) * | 2003-06-16 | 2005-01-13 | Sony Computer Entertainment Inc | Information presenting method and system |
US7356778B2 (en) * | 2003-08-20 | 2008-04-08 | Acd Systems Ltd. | Method and system for visualization and operation of multiple content filters |
US20050188174A1 (en) * | 2003-10-12 | 2005-08-25 | Microsoft Corporation | Extensible creation and editing of collections of objects |
US8024335B2 (en) * | 2004-05-03 | 2011-09-20 | Microsoft Corporation | System and method for dynamically generating a selectable search extension |
US7181463B2 (en) | 2003-10-24 | 2007-02-20 | Microsoft Corporation | System and method for managing data using static lists |
JP2007515707A (en) * | 2003-11-27 | 2007-06-14 | スマート インターネット テクノロジー シーアールシー ピーティワイ リミテッド | Communication system and method |
US7657846B2 (en) * | 2004-04-23 | 2010-02-02 | Microsoft Corporation | System and method for displaying stack icons |
US9189568B2 (en) | 2004-04-23 | 2015-11-17 | Ebay Inc. | Method and system to display and search in a language independent manner |
US7694236B2 (en) * | 2004-04-23 | 2010-04-06 | Microsoft Corporation | Stack icons representing multiple objects |
US7992103B2 (en) * | 2004-04-26 | 2011-08-02 | Microsoft Corporation | Scaling icons for representing files |
US20050240878A1 (en) * | 2004-04-26 | 2005-10-27 | Microsoft Corporation | System and method for scaling icons |
US8707209B2 (en) * | 2004-04-29 | 2014-04-22 | Microsoft Corporation | Save preview representation of files being created |
US8108430B2 (en) * | 2004-04-30 | 2012-01-31 | Microsoft Corporation | Carousel control for metadata navigation and assignment |
US7496583B2 (en) * | 2004-04-30 | 2009-02-24 | Microsoft Corporation | Property tree for metadata navigation and assignment |
JP4168423B2 (en) * | 2004-07-30 | 2008-10-22 | 太陽誘電株式会社 | Optical information recording medium |
FR2874108B1 (en) * | 2004-08-09 | 2006-09-22 | Cit Alcatel | CARD DISPLAY METHOD CONTAINING LOCATIONS AND ACCESSION TO INFORMATION RESOURCES RELATING TO THESE PLACES |
US7617204B2 (en) * | 2004-09-15 | 2009-11-10 | Microsoft Corporation | Conditional navigation through hierarchical lists |
US7383503B2 (en) | 2005-02-23 | 2008-06-03 | Microsoft Corporation | Filtering a collection of items |
US20070234232A1 (en) * | 2006-03-29 | 2007-10-04 | Gheorghe Adrian Citu | Dynamic image display |
US8490015B2 (en) | 2005-04-15 | 2013-07-16 | Microsoft Corporation | Task dialog and programming interface for same |
US20060236244A1 (en) * | 2005-04-15 | 2006-10-19 | Microsoft Corporation | Command links |
US7614016B2 (en) * | 2005-04-21 | 2009-11-03 | Microsoft Corporation | Multiple roots in navigation pane |
US7536410B2 (en) * | 2005-04-22 | 2009-05-19 | Microsoft Corporation | Dynamic multi-dimensional scrolling |
US8522154B2 (en) * | 2005-04-22 | 2013-08-27 | Microsoft Corporation | Scenario specialization of file browser |
US20060242122A1 (en) * | 2005-04-22 | 2006-10-26 | Microsoft Corporation | Systems, methods, and user interfaces for storing, searching, navigating, and retrieving electronic information |
US20060242591A1 (en) * | 2005-04-22 | 2006-10-26 | Microsoft Corporation | File dialog user interfaces and creation of same |
US8195646B2 (en) * | 2005-04-22 | 2012-06-05 | Microsoft Corporation | Systems, methods, and user interfaces for storing, searching, navigating, and retrieving electronic information |
US7162488B2 (en) * | 2005-04-22 | 2007-01-09 | Microsoft Corporation | Systems, methods, and user interfaces for storing, searching, navigating, and retrieving electronic information |
US7665028B2 (en) * | 2005-07-13 | 2010-02-16 | Microsoft Corporation | Rich drag drop user interface |
US7831913B2 (en) * | 2005-07-29 | 2010-11-09 | Microsoft Corporation | Selection-based item tagging |
WO2007063497A1 (en) * | 2005-12-01 | 2007-06-07 | Koninklijke Philips Electronics, N.V. | System and method for presenting content to a user |
US8732597B2 (en) * | 2006-01-13 | 2014-05-20 | Oracle America, Inc. | Folded scrolling |
US20070300173A1 (en) * | 2006-06-26 | 2007-12-27 | Sun Microsystems, Inc. | Apparatus and method for coordinated views of clustered data |
US20080213047A1 (en) * | 2006-08-21 | 2008-09-04 | Bryant Corwin J | Systems and methods for liner tensioning in pipeline rehabilitation |
US20080052623A1 (en) * | 2006-08-22 | 2008-02-28 | Michael Gutfleisch | Accessing data objects based on attribute data |
US8639782B2 (en) | 2006-08-23 | 2014-01-28 | Ebay, Inc. | Method and system for sharing metadata between interfaces |
US8473868B1 (en) * | 2006-10-27 | 2013-06-25 | Arris Group, Inc. | System and method for reverse hierarchical navigation within a user interface |
US8601387B2 (en) * | 2006-12-15 | 2013-12-03 | Iac Search & Media, Inc. | Persistent interface |
US20080270932A1 (en) * | 2006-12-15 | 2008-10-30 | Iac Search & Media, Inc. | Toolbox editing |
US20080147653A1 (en) * | 2006-12-15 | 2008-06-19 | Iac Search & Media, Inc. | Search suggestions |
US20080147709A1 (en) * | 2006-12-15 | 2008-06-19 | Iac Search & Media, Inc. | Search results from selected sources |
US20080148188A1 (en) * | 2006-12-15 | 2008-06-19 | Iac Search & Media, Inc. | Persistent preview window |
US20080148192A1 (en) * | 2006-12-15 | 2008-06-19 | Iac Search & Media, Inc. | Toolbox pagination |
US20080147708A1 (en) * | 2006-12-15 | 2008-06-19 | Iac Search & Media, Inc. | Preview window with rss feed |
US20080147606A1 (en) * | 2006-12-15 | 2008-06-19 | Iac Search & Media, Inc. | Category-based searching |
JP5183071B2 (en) * | 2007-01-22 | 2013-04-17 | 任天堂株式会社 | Display control apparatus and display control program |
JP4888165B2 (en) * | 2007-03-12 | 2012-02-29 | 富士ゼロックス株式会社 | Image processing apparatus and program |
US20080249984A1 (en) * | 2007-04-03 | 2008-10-09 | Coimbatore Srinivas J | Use of Graphical Objects to Customize Content |
US7889888B2 (en) * | 2007-06-27 | 2011-02-15 | Raytheon Company | System and method for grouping and visualizing data |
US20090005970A1 (en) * | 2007-06-27 | 2009-01-01 | Raytheon Company | System and Method for Displaying Geographical Information |
US20090006323A1 (en) * | 2007-06-27 | 2009-01-01 | Raytheon Company | System and Method for Analyzing Intelligence Information |
US8671355B2 (en) | 2007-10-05 | 2014-03-11 | Mapquest, Inc. | Methods and systems for decluttering icons representing points of interest on a map |
WO2009054130A1 (en) * | 2007-10-23 | 2009-04-30 | Panasonic Corporation | Destination display device and destination display method |
JP4850859B2 (en) * | 2008-02-05 | 2012-01-11 | 株式会社コナミデジタルエンタテインメント | Information processing apparatus, information processing apparatus control method, and program |
US8595638B2 (en) * | 2008-08-28 | 2013-11-26 | Nokia Corporation | User interface, device and method for displaying special locations on a map |
US8893050B2 (en) * | 2009-01-12 | 2014-11-18 | International Business Machines Corporation | Assembly and output of user-defined groupings |
US20110010650A1 (en) * | 2009-07-09 | 2011-01-13 | Mapquest, Inc. | Systems and methods for decluttering electronic map displays |
WO2011020101A2 (en) | 2009-08-14 | 2011-02-17 | Telogis, Inc. | Real time map rendering with data clustering and expansion and overlay |
JP5635247B2 (en) * | 2009-08-20 | 2014-12-03 | 富士通株式会社 | Multi-chip module |
CN102835124B (en) * | 2010-04-09 | 2016-04-13 | Lg电子株式会社 | Image display and the method for operating image display |
US8495504B2 (en) * | 2010-04-29 | 2013-07-23 | International Business Machines Corporation | Customizable branch navigational area control |
US20110307815A1 (en) * | 2010-06-11 | 2011-12-15 | Mygobs Oy | User Interface and Method for Collecting Preference Data Graphically |
KR101783960B1 (en) * | 2010-08-19 | 2017-10-11 | 삼성전자주식회사 | Method and apparatus for searching contents |
CN101938569A (en) * | 2010-09-25 | 2011-01-05 | 华为终端有限公司 | Mobile terminal and method for displaying related information of contact |
US20120131111A1 (en) * | 2010-11-24 | 2012-05-24 | Honeywell International Inc. | Methods and apparatus for point-and-click messaging |
US20120253984A1 (en) * | 2011-03-30 | 2012-10-04 | W.W. Grainger, Inc. | System and method for highlighting differences in items in a search result listing |
CN102222084B (en) * | 2011-05-13 | 2014-02-19 | 北京百度网讯科技有限公司 | Method and device for displaying retrieval result on map |
US9342579B2 (en) * | 2011-05-31 | 2016-05-17 | International Business Machines Corporation | Visual analysis of multidimensional clusters |
US10453226B1 (en) * | 2011-07-26 | 2019-10-22 | Google Llc | Presenting information on a map |
WO2013043928A2 (en) | 2011-09-20 | 2013-03-28 | Telogis, Inc. | Vehicle fleet work order management system |
US20130339098A1 (en) | 2012-06-15 | 2013-12-19 | Telogis, Inc. | Vehicle fleet routing system |
US20130339266A1 (en) | 2012-06-15 | 2013-12-19 | Telogis, Inc. | Vehicle fleet routing system |
EP2717015B1 (en) * | 2012-10-08 | 2018-05-23 | Harman Becker Automotive Systems GmbH | Seamless display of objects |
US9047847B2 (en) * | 2013-02-05 | 2015-06-02 | Facebook, Inc. | Displaying clusters of media items on a map using representative media items |
US10366134B2 (en) | 2014-10-24 | 2019-07-30 | Oath Inc. | Taxonomy-based system for discovering and annotating geofences from geo-referenced data |
CN105681521B (en) * | 2016-02-24 | 2019-05-24 | Oppo广东移动通信有限公司 | A kind of address book ordering method and device |
US9836183B1 (en) * | 2016-09-14 | 2017-12-05 | Quid, Inc. | Summarized network graph for semantic similarity graphs of large corpora |
US11301500B2 (en) * | 2016-12-29 | 2022-04-12 | Sap Se | Clustering for geo-enriched data |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2017969C (en) * | 1989-08-07 | 1999-04-20 | Richard Alan Becker | Dynamic graphics arrangement for displaying spatial-time-series data |
JPH06176081A (en) * | 1992-12-02 | 1994-06-24 | Hitachi Ltd | Hierarchical structure browsing method and device |
US5544352A (en) * | 1993-06-14 | 1996-08-06 | Libertech, Inc. | Method and apparatus for indexing, searching and displaying data |
AU1333895A (en) * | 1993-11-30 | 1995-06-19 | Raymond R. Burke | Computer system for allowing a consumer to purchase packaged goods at home |
US5636300A (en) * | 1994-12-12 | 1997-06-03 | Corning Incorporated | MxO multiplex demultiplex component |
US5644736A (en) * | 1995-05-25 | 1997-07-01 | International Business Machines Corporation | System and method for selecting components of a hierarchical file structure |
US5838317A (en) * | 1995-06-30 | 1998-11-17 | Microsoft Corporation | Method and apparatus for arranging displayed graphical representations on a computer interface |
US5774121A (en) * | 1995-09-18 | 1998-06-30 | Avantos Performance Systems, Inc. | User interface method and system for graphical decision making with categorization across multiple criteria |
US5790121A (en) * | 1996-09-06 | 1998-08-04 | Sklar; Peter | Clustering user interface |
-
1997
- 1997-05-21 US US08/861,365 patent/US6025843A/en not_active Expired - Fee Related
-
1999
- 1999-10-11 US US09/416,172 patent/US6243094B1/en not_active Expired - Lifetime
-
2001
- 2001-04-20 US US09/839,440 patent/US20010015733A1/en not_active Abandoned
Cited By (55)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140229967A1 (en) * | 1998-03-04 | 2014-08-14 | United Video Properties, Inc. | Program guide system with monitoring of advertisement usage and user activities |
US7535479B2 (en) * | 2000-04-24 | 2009-05-19 | Glen Kazumi Okita | Apparatus and method for collecting and displaying information in a workflow system |
US20050093881A1 (en) * | 2000-04-24 | 2005-05-05 | Aspect Communication Corporation | Apparatus and method for collecting and displaying information in a workflow system |
US8705897B1 (en) | 2001-12-17 | 2014-04-22 | Google Inc. | Method and apparatus for archiving and visualizing digital images |
US8811775B1 (en) * | 2001-12-17 | 2014-08-19 | Google Inc. | Visualizing digital images on a map |
US20050165824A1 (en) * | 2004-01-23 | 2005-07-28 | Farnham Shelly D. | Selective multi level expansion of data base via pivot point data |
US7167866B2 (en) * | 2004-01-23 | 2007-01-23 | Microsoft Corporation | Selective multi level expansion of data base via pivot point data |
US11467883B2 (en) | 2004-03-13 | 2022-10-11 | Iii Holdings 12, Llc | Co-allocating a reservation spanning different compute resources types |
US11652706B2 (en) | 2004-06-18 | 2023-05-16 | Iii Holdings 12, Llc | System and method for providing dynamic provisioning within a compute environment |
US11630704B2 (en) | 2004-08-20 | 2023-04-18 | Iii Holdings 12, Llc | System and method for a workload management and scheduling module to manage access to a compute environment according to local and non-local user identity information |
US11537435B2 (en) | 2004-11-08 | 2022-12-27 | Iii Holdings 12, Llc | System and method of providing system jobs within a compute environment |
US11656907B2 (en) | 2004-11-08 | 2023-05-23 | Iii Holdings 12, Llc | System and method of providing system jobs within a compute environment |
US11886915B2 (en) | 2004-11-08 | 2024-01-30 | Iii Holdings 12, Llc | System and method of providing system jobs within a compute environment |
US11861404B2 (en) | 2004-11-08 | 2024-01-02 | Iii Holdings 12, Llc | System and method of providing system jobs within a compute environment |
US11762694B2 (en) | 2004-11-08 | 2023-09-19 | Iii Holdings 12, Llc | System and method of providing system jobs within a compute environment |
US11709709B2 (en) | 2004-11-08 | 2023-07-25 | Iii Holdings 12, Llc | System and method of providing system jobs within a compute environment |
US11537434B2 (en) | 2004-11-08 | 2022-12-27 | Iii Holdings 12, Llc | System and method of providing system jobs within a compute environment |
US11494235B2 (en) | 2004-11-08 | 2022-11-08 | Iii Holdings 12, Llc | System and method of providing system jobs within a compute environment |
US11134022B2 (en) | 2005-03-16 | 2021-09-28 | Iii Holdings 12, Llc | Simple integration of an on-demand compute environment |
US8930536B2 (en) * | 2005-03-16 | 2015-01-06 | Adaptive Computing Enterprises, Inc. | Virtual private cluster |
US11658916B2 (en) | 2005-03-16 | 2023-05-23 | Iii Holdings 12, Llc | Simple integration of an on-demand compute environment |
US9961013B2 (en) | 2005-03-16 | 2018-05-01 | Iii Holdings 12, Llc | Simple integration of on-demand compute environment |
US9979672B2 (en) | 2005-03-16 | 2018-05-22 | Iii Holdings 12, Llc | System and method providing a virtual private cluster |
US10333862B2 (en) | 2005-03-16 | 2019-06-25 | Iii Holdings 12, Llc | Reserving resources in an on-demand compute environment |
US20060212740A1 (en) * | 2005-03-16 | 2006-09-21 | Jackson David B | Virtual Private Cluster |
US9225663B2 (en) | 2005-03-16 | 2015-12-29 | Adaptive Computing Enterprises, Inc. | System and method providing a virtual private cluster |
US10608949B2 (en) | 2005-03-16 | 2020-03-31 | Iii Holdings 12, Llc | Simple integration of an on-demand compute environment |
US11356385B2 (en) | 2005-03-16 | 2022-06-07 | Iii Holdings 12, Llc | On-demand compute environment |
US11522811B2 (en) | 2005-04-07 | 2022-12-06 | Iii Holdings 12, Llc | On-demand access to compute resources |
US11533274B2 (en) | 2005-04-07 | 2022-12-20 | Iii Holdings 12, Llc | On-demand access to compute resources |
US11831564B2 (en) | 2005-04-07 | 2023-11-28 | Iii Holdings 12, Llc | On-demand access to compute resources |
US11765101B2 (en) | 2005-04-07 | 2023-09-19 | Iii Holdings 12, Llc | On-demand access to compute resources |
US11496415B2 (en) | 2005-04-07 | 2022-11-08 | Iii Holdings 12, Llc | On-demand access to compute resources |
US10977090B2 (en) | 2006-03-16 | 2021-04-13 | Iii Holdings 12, Llc | System and method for managing a hybrid compute environment |
US11650857B2 (en) | 2006-03-16 | 2023-05-16 | Iii Holdings 12, Llc | System and method for managing a hybrid computer environment |
US10445146B2 (en) | 2006-03-16 | 2019-10-15 | Iii Holdings 12, Llc | System and method for managing a hybrid compute environment |
US11522952B2 (en) | 2007-09-24 | 2022-12-06 | The Research Foundation For The State University Of New York | Automatic clustering for self-organizing grids |
GB2458646A (en) * | 2008-03-26 | 2009-09-30 | Triad Group Plc | Object and group marker display |
US20100111372A1 (en) * | 2008-11-03 | 2010-05-06 | Microsoft Corporation | Determining user similarities based on location histories |
US20110282798A1 (en) * | 2008-12-11 | 2011-11-17 | Microsoft Corporation | Making Friend and Location Recommendations Based on Location Similarities |
US20100153292A1 (en) * | 2008-12-11 | 2010-06-17 | Microsoft Corporation | Making Friend and Location Recommendations Based on Location Similarities |
US20110022451A1 (en) * | 2009-07-27 | 2011-01-27 | Mobile Genius, Llc | Advertising content for mobile devices |
US11720290B2 (en) | 2009-10-30 | 2023-08-08 | Iii Holdings 2, Llc | Memcached server functionality in a cluster of data processing nodes |
US11526304B2 (en) | 2009-10-30 | 2022-12-13 | Iii Holdings 2, Llc | Memcached server functionality in a cluster of data processing nodes |
US20120001939A1 (en) * | 2010-06-30 | 2012-01-05 | Nokia Corporation | Methods, apparatuses and computer program products for automatically generating suggested information layers in augmented reality |
US9910866B2 (en) * | 2010-06-30 | 2018-03-06 | Nokia Technologies Oy | Methods, apparatuses and computer program products for automatically generating suggested information layers in augmented reality |
US9349147B2 (en) | 2011-11-01 | 2016-05-24 | Google Inc. | Displaying content items related to a social network group on a map |
US9678985B2 (en) | 2011-11-01 | 2017-06-13 | Google Inc. | Displaying content items related to a social network group on a map |
US20140063020A1 (en) * | 2012-08-30 | 2014-03-06 | Fannie Mae | System and method for mapping and comparing choroplethic housing statistics |
US9311726B2 (en) * | 2012-08-30 | 2016-04-12 | Fannie Mae | System and method for mapping and comparing choroplethic housing statistics |
US10565560B2 (en) * | 2014-11-12 | 2020-02-18 | Successfactors, Inc. | Alternative people charting for organizational charts |
US11709860B2 (en) * | 2020-10-20 | 2023-07-25 | Mineral Earth Sciences Llc | Partitioning agricultural fields for annotation |
US20220215037A1 (en) * | 2020-10-20 | 2022-07-07 | X Development Llc | Partitioning agricultural fields for annotation |
US11321347B1 (en) * | 2020-10-20 | 2022-05-03 | X Development Llc | Partitioning agricultural fields for annotation |
US11960937B2 (en) | 2022-03-17 | 2024-04-16 | Iii Holdings 12, Llc | System and method for an optimizing reservation in time of compute resources based on prioritization function and reservation policy parameter |
Also Published As
Publication number | Publication date |
---|---|
US6243094B1 (en) | 2001-06-05 |
US6025843A (en) | 2000-02-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6243094B1 (en) | Clustering user interface | |
US5790121A (en) | Clustering user interface | |
US11269932B2 (en) | Custom local search | |
US20140310655A1 (en) | Visual representation of map navigation history | |
US7428705B2 (en) | Web map tool | |
US5555354A (en) | Method and apparatus for navigation within three-dimensional information landscape | |
US5861885A (en) | Method and apparatus for indicating selected objects by spotlight | |
US7269801B2 (en) | System for managing the navigational usability of an interactive map | |
US6897885B1 (en) | Invisible link visualization method and system in a hyperbolic space | |
US5515488A (en) | Method and apparatus for concurrent graphical visualization of a database search and its search history | |
CN101025768B (en) | Parts catalog system, method to generate parts catalog | |
US7730397B2 (en) | System and method for rapid presentation of structured digital content items | |
KR20080050427A (en) | Navigation of structured data | |
JP2001514418A (en) | Browser for hierarchical structure | |
Gomi et al. | A personal photograph browser for life log analysis based on location, time, and person | |
Blanchard et al. | Exploratory visualization for association rule rummaging | |
WO2002027508A1 (en) | Method and software for graphical representation of qualitative search results | |
US8250480B2 (en) | Interactive navigation of a dataflow process image | |
Fabrikant et al. | Envisioning user access to a large data archive | |
Tanin et al. | Browsing large online data tables using generalized query previews | |
CN111310080A (en) | System and method for displaying a map on a display screen | |
JP2000076294A (en) | Data retrieval method, device therefor and record medium | |
Laurini et al. | Dealing with geographic continuous fields: the way to a visual GIS environment | |
De Oliveira et al. | A direct manipulation user interface for querying geographic databases | |
US20090005970A1 (en) | System and Method for Displaying Geographical Information |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: LORD CORPORATION, NORTH CAROLINA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:CARLSON, J. DAVID;YANYO, LYNN C.;REEL/FRAME:011738/0903 Effective date: 20010420 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |