U.S. patent application number 13/303204 was filed with the patent office on 2012-06-28 for universal interface for retrieval of information in a computer system.
This patent application is currently assigned to APPLE INC.. Invention is credited to Yan Arrouye, Keith Mortensen.
Application Number | 20120166477 13/303204 |
Document ID | / |
Family ID | 34061921 |
Filed Date | 2012-06-28 |
United States Patent
Application |
20120166477 |
Kind Code |
A1 |
Arrouye; Yan ; et
al. |
June 28, 2012 |
Universal Interface for Retrieval of Information in a Computer
System
Abstract
The present invention provides convenient access to items of
information that are related to various descriptors input by a
user, by means of a unitary interface which is capable of accessing
information in a variety of locations, through a number of
different techniques. Using a plurality of heuristic algorithms to
operate upon information descriptors input by the user, the present
invention locates and displays candidate items of information for
selection and/or retrieval. Thus, the advantages of a search engine
can be exploited, while listing only relevant object candidate
items of information.
Inventors: |
Arrouye; Yan; (Cupertino,
CA) ; Mortensen; Keith; (Sunnyvale, CA) |
Assignee: |
APPLE INC.
Cupertino
CA
|
Family ID: |
34061921 |
Appl. No.: |
13/303204 |
Filed: |
November 23, 2011 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
11000413 |
Dec 1, 2004 |
8086604 |
|
|
13303204 |
|
|
|
|
09478009 |
Jan 5, 2000 |
6847959 |
|
|
11000413 |
|
|
|
|
Current U.S.
Class: |
707/769 ;
707/E17.014 |
Current CPC
Class: |
Y10S 707/99933 20130101;
G06F 16/951 20190101; Y10S 707/99945 20130101; Y10S 707/99932
20130101 |
Class at
Publication: |
707/769 ;
707/E17.014 |
International
Class: |
G06F 17/30 20060101
G06F017/30 |
Claims
1. A computerized method, comprising: receiving at least a partial
search query; storing the at least partial search query on a
non-transitory computer readable medium; searching a first
plurality of files for matches with the at least partial search
query, wherein the first plurality of files is located across an
internet connection coupled to the non-transitory computer readable
medium; searching a second plurality of files for matches with the
at least partial search query, wherein the second plurality of
files is only available via local access from a computer that
includes the non-transitory computer readable medium; and receiving
a notification of at least one search result;
2. A computerized method, comprising: receiving at least a partial
search query from an account; storing the at least partial search
query on a non-transitory computer readable medium; searching an
internet resources that match for the at least partial search
query; searching a datastore of at least one of references to files
the account has recently accessed, or files the account has
recently accessed, that match the at least partial search query;
and receiving a notification of at least one search result.
Description
RELATED APPLICATIONS
[0001] This application is a continuation of U.S. application Ser.
No. 11/000,413, filed on Dec. 1, 2004, which is a continuation of
U.S. application Ser. No. 09/478,009, filed on Jan. 5, 2000, now
U.S. Pat. No. 6,847,959, issued Jan. 25, 2005, the entire contents
of which are hereby incorporated herein by reference
BACKGROUND OF THE INVENTION
[0002] 1. Field of the Invention
[0003] The present invention is directed to a computer-human
interface for quickly and easily retrieving desired information in
a computer system. More specifically, the present invention is
directed to a universal interface which uses a plurality of
heuristic algorithms to identify an item of information (e.g.,
document, application or Internet web page) in response to at least
one information descriptor.
[0004] 2. Description of the Related Art
[0005] One of the basic needs of a computer user, especially with
the recent growth in the amount of data and information available
via networks and the Internet, is to be able to quickly search
through the available information to identify useful items, and to
thereafter easily locate those items. To satisfy this need, many
computer operating systems contain routines that provide a simple
way to locate objects. For example, the Finder of the Macintosh7
Operating System implemented by Apple Computer, Inc. includes a
Find File utility which permits a user to locate various files
located in the system directories (e.g., folders) using keywords
that occur in the desired file's name. The Find File utility
includes the ability to search on local disks and mounted servers.
The Windows7 operating system, implemented by Microsoft
Corporation, also employs a Find mechanism that allows a user to
locate files stored in the computer system. The application uses
inputted search criteria to generate and display a list of possible
files that satisfy the search criteria. At times however, the list
can become long and cumbersome, thereby requiring the user to sift
through the list and identify useful information. Accordingly, this
technique may fail to significantly reduce the time and effort a
user expends to identify and retrieve useful information.
[0006] As another feature for quickly retrieving items of interest,
some computer systems store a list of previously used documents or
applications from which they can be easily invoked. However, this
feature requires the user to access a different interface element
to retrieve the item, and does not provide for the use of keywords
to identify the specific document or program that the user
desires.
[0007] Also, with the advent of the Internet, various specialized
find routines have been developed that can be loaded into a
computer's memory and launched in order to facilitate user requests
for particular information on servers located throughout the world.
Additionally, web browser applications enable a user to access
worldwide websites and interact with search engines provided by the
website.
[0008] Like the Find File utility discussed above, finding
information on the Internet can prove frustrating because search
criteria are often too broad. For example, when a keyword is
entered, thousands of different web pages containing these keywords
can be displayed in a list for a user to choose from. Accordingly,
additional search criteria are needed to more effectively filter
information available, for example, on the World Wide Web. However,
there is little technology currently available which allows the
computer to help the user determine such additional criteria or to
automatically provide additional criteria, so that search results
have a higher percentage of items that are of interest to the
user.
[0009] Additionally, web-browser applications are not designed to
search for non-web-based documents or applications located on the
computer or an associated computer network and, conversely, File
Find-type utility programs are not capable of searching the
Internet for web-based documents or applications. There has been no
combination of desktop find routines that presents a single
interface and Internet browsing routines to allow a computer user
to find a needed or desired item of information from among all
different types of information storage systems. Additionally, there
is no program which is able to process the user's input and then
determine, using many different factors, including use of the
Internet, the intent of the user as to the file to be retrieved.
Accordingly, in order to present a more informative and
personalized user interface, a unitary manner of finding a user's
desired item of information is needed.
SUMMARY OF THE INVENTION
[0010] The present invention provides convenient access to items of
information that are related to various descriptors input by a
user, by means of a unitary interface which is capable of accessing
information in a variety of locations, through a number of
different techniques. Using a plurality of heuristic algorithms to
operate upon information descriptors input by the user, the present
invention locates and displays candidate items of information for
selection and/or retrieval. Thus, the advantages of a search engine
can be exploited, while listing only relevant object candidate
items of information.
[0011] In accordance with an exemplary embodiment of the present
invention, methods and apparatuses for locating information in a
computer system are described which receive an information
identifier, locate at least one item of information based upon the
information identifier by means of a plurality of heuristic
algorithms each having a separate location scheme, provide at least
one candidate information item, and display a representation of the
information item.
[0012] In accordance with another exemplary embodiment of the
present invention, methods and apparatuses for locating information
in a computer system are described which input an information
identifier, providing the information identifier to locate
information in the plurality of locations which comprise the
Internet and local storage media, wherein the information located
matches the information identifier when applied to a plurality of
heuristics, determining at least one candidate item of information
based upon the plurality of heuristics, and displaying a
representation of the candidate item of information.
[0013] In yet another exemplary embodiment of the present
invention, methods and apparatuses for displaying information in a
computer system is described which includes inputting an
information identifier, providing the information identifier to a
plurality of heuristics in accordance with a global heuristic,
wherein each information identifier is matched to information based
upon the plurality of heuristics, receiving at least one candidate
item of information based upon the information provided to the
heuristics in accordance with the global heuristic, and displaying
a representation of the candidate items of information.
BRIEF DESCRIPTION OF THE DRAWINGS
[0014] Other objects and advantages of the present invention will
become more apparent from the following detailed description of the
invention when read in conjunction with the accompanying drawings
wherein like elements are designated by like numerals and
wherein:
[0015] FIG. 1 illustrates the hardware components of a networked
computer system of a type in which exemplary embodiments of the
present invention can be implemented;
[0016] FIG. 2 illustrates the software architecture in accordance
with exemplary embodiments of the present invention;
[0017] FIG. 3A illustrates a partial view of a desktop including a
GO-TO menu option, in accordance with an exemplary embodiment of
the present invention;
[0018] FIG. 3B illustrates a partial view of a desktop including a
GO-TO menu option containing a text input window, in accordance
with an exemplary embodiment of the present invention;
[0019] FIG. 4 illustrates an active window that is displayed when
the GO-TO menu option described with respect to FIG. 3 is launched;
and
[0020] FIG. 5 illustrates a flow diagram describing the GO-TO
application in accordance with an exemplary embodiment of the
present invention.
DETAILED DESCRIPTION OF THE INVENTION
[0021] The present invention will now be described with reference
to the accompanying drawings describing a universal interface in
which user inputs are received and provided to a plurality of
separate heuristic algorithms to locate at least one item of
information. It will be appreciated that the invention is not
limited to only the embodiments set forth within this disclosure.
Rather, the particular heuristic algorithms described herein are
meant to be exemplary of many different heuristics that can be
employed, for the purpose of retrieving information through a
simplified user interface.
[0022] Referring to FIG. 1, a general computer system 2, in which
the present invention can be implemented, is illustrated. Computer
system 2 comprises a display device 4 and various input devices
such as a keyboard 5, microphone 7 and mouse 3 in operable
connection with a memory 6, data processor 9 and local storage
media 12 which can include one or more magnetic and/or optical disk
drives, for example. Additionally, the computer system 2 can be
connected via an Input/Output device 10 (e.g., a modem or cable
connection) to a Local Area Network (LAN) server 14. The LAN server
14 can also be connected to a LAN storage volume 8 which stores
files for use on the network served by the LAN. The LAN server 14
can also include a Wide Area Network (WAN) router 13 and an
Internet router 11. The WAN router and the Internet router can be
connected to other servers (not shown) which access additional
storage media containing files, application programs, web pages,
etc. While other elements and components are normally attached to
the computer system 2, only these elements are shown so as not to
obscure the invention.
[0023] In general, the present invention provides a universal
interface that enables the user to readily retrieve an item of
desired information located on any of the various storage media
that are accessible to the user's computer system, with minimal
effort. The desired information could be an application that is
stored on the local storage media 12, a file stored on the LAN
storage volume 8, or a web page available through the Internet
router 11. Rather than require a separate search mechanism to
locate each of these different types of information, the present
invention facilitates the user's ability to easily retrieve the
information by means of a single universal interface which is
capable of accessing files on all of these various storage
resources.
[0024] The components which provide this functionality are
illustrated in the architectural block diagram of FIG. 2. In
operation, the user provides input which describes the information
in which the user is interested. This input could be text data that
is entered in a dialog box 15 or spoken words provided to a speech
processing program 16. This input is received by an information
retrieval manager 18. In the case of spoken words, the speech
processing program 16 first converts the speech to text, which is
then presented to the information retrieval manager 18.
[0025] In response, the information retrieval manager 18 dispatches
the input to a plurality of plug-in modules 22.sub.1-22.sub.N. Each
plug-in module has an associated heuristic which it employs to
locate information that corresponds to the user input. For
instance, one module 22.sub.1 may search the names of files stored
on the local storage media 12 and the LAN storage volumes 8, to
find those which match the user input. A second module 22.sub.2 may
index and search the contents of files on the local and/or network
storage volumes. A third module 22.sub.3 can maintain a list of the
files, applications and web sites which were most recently
accessed, and search this list for a match. Yet another module
might employ a search engine to locate Internet web pages which
match the user input.
[0026] Each plug-in module 22.sub.1-22.sub.N attempts to locate
information in a relevant area of search, using its associated
heuristic. The results obtained by the modules are sent back to the
retrieval manager 18. The information retrieval manager may employ
additional heuristics to determine which results are most relevant,
and present one or more choices to the user on the display device
4.
[0027] In accordance with an embodiment of the present invention,
the universal interface can be implemented so as to operate
constantly and in tandem with the computer's operating system. The
functionality of the information retrieval interface can be
accessed in several different ways. FIG. 3A illustrates a desktop
display 20 that includes a graphical representation of a button 19
(entitled "GO-TO") within a menu bar 17. Also, located within the
menu bar are various conventional menu items such as File, Edit,
View, Label, and Special. When the button 19 located in the menu
bar 17 is selected by the user, the information retrieval function
of the present invention is accessed and the dialog box 15 is
displayed. It should be noted that while the access to the
information retrieval feature is depicted as being by way of a
button located in the menu bar in FIG. 3, there are many other ways
in which the interface can be accessed. For example, the interface
could be represented by an icon graphically located in a desktop
display, and be launched each time the user and clicks on the icon
representation via the mouse 3.
[0028] In another alternative embodiment illustrated in FIG. 3B,
the menu bar 17 might contain a text input window itself, and the
information retrieval function is accessed when the user begins to
type characters in this window. More generally, the information
retrieval system can operate in conjunction with any type of
interface via which a user might enter a request for an item of
information, by monitoring dialog boxes and other such input
mechanisms, including those in individual applications. For
example, if a user enters text in a browser window, the information
retrieval system can provide this text to the modules to locate
relevant items of information.
[0029] When the GO-TO button 19 (illustrated in FIG. 3A) is
selected by a user, the dialog box, represented by active window 25
illustrated in FIG. 4, is displayed on the desktop of display
device 4. The active window 25 provides a text box 27 for the user
to enter an information descriptor which comprises a letter, a
series of letters, a word, a plurality of words, a phrase or
sentences to be used by the retrieval manager 18, in locating
information. FIG. 5 illustrates the operations that are performed
in response to the user input. In step 310, the user inputs an
information descriptor, either by voice input to the microphone 7
or by manual input to the keyboard 5, which is displayed in the
text box 27. In step 320, once the information descriptor is
provided, the information retrieval manager 18 provides the
information descriptor to one or more of the plug-in modules
22.sub.1. . . 22.sub.N, in accordance with a global heuristic,
described in detail below.
[0030] In step 330, the selected plug-in modules 22.sub.1. . .
22.sub.N receive the information descriptor and determine whether
any information matches the criteria of respective locator
heuristics associated with the plug-in modules 22.sub.1. . .
22.sub.N. The heuristic of each plug-in module is different. For
example, as described previously, one heuristic can operate to
match the user descriptor with the names of information located
within various storage media in the computer, on servers and the
Internet. Another heuristic can identify matches between the
information descriptor and the content of files located on the
computer, on servers and the Internet.
[0031] Additionally, heuristic algorithms can also be provided that
store and review the history of information that has been recently
accessed to determine which might match the descriptor. Other
heuristics can employ a look-up-table to review mappings on a
private network accessed either locally or remotely. Another
heuristic module might review the favorite locations accessed by a
browser application located on computer system 2. The URLs stored
by the browser application can be searched to determine if they
match the input of the user. Each plug-in module 22.sub.1. . .
22.sub.N might identify one item of information, a plurality of
possible items of information, or no information that matches the
user input, according to the module's heuristic approach.
[0032] In step 340, once a plug-in module 22.sub.1. . . 22.sub.N
has determined that at least one item of information matches its
heuristic, the information retrieval manager is notified and sent
the information that matches the user input, according to that
module's associated heuristic. In accordance with one embodiment of
the invention, a "first to respond" approach can be employed to
select an item of information to be displayed to the user. In this
embodiment, the first plug-in module to notify the information
retrieval manager 18 that matching information has been identified
is chosen, and its matching information is displayed to the user
or, if desired, automatically launched. Alternatively, the
information retrieval manager 18 could rank the outputs from the
plug-in modules 22.sub.1. . . 22.sub.N in the order their
notifications are received. This would allow for more than one
choice to be displayed for a user. Due to differences in
communication speeds, this approach will tend to give greater
priority to locally stored files than those which are located at
more remote sites, such as those on an wide-area network or the
Internet.
[0033] In other embodiments of the invention, different global
heuristics can be employed by the information retrieval manager to
determine the results that are to be provided to the user. These
global heuristics can be classified into two general categories. In
one category, the user input is selectively provided to the plug-in
modules, and only the results from those modules are displayed to
the user. For instance, all of the modules can be given a priority
ranking. When user input is received, it is first provided to the
module with the highest ranking. If that module responds within a
certain period of time with one or more matches, those matches are
displayed. However, if the module responds that it cannot find a
match, or does not respond within the allotted period of time, the
user input is provided to the next-highest ranking module. The
procedure continues in this manner, until a module presents a
match, which is then displayed to the user. As an alternative to
sequentially accessing individual modules, two or more modules can
be grouped at a given priority level, and be accessed in parallel
when their priority level is selected.
[0034] In a further enhancement of the prioritized approach, the
priority ranking of the modules can be context sensitive. For
instance, if the user accesses the information retrieval system
through an icon on the desktop or a system menu bar, the plug-in
modules which perform searches on local storage media can be given
higher priority than those which search remote sites. However, if
the user enters text via a window in a browser application, it is
more likely that the user desires to view a web page, and therefore
the plug-in modules whose heuristics are oriented towards Internet
sites are given higher priority.
[0035] In the second general category of global heuristics, the
user input can be provided to most or all of the plug-in modules in
parallel, and the results that are returned from each one are then
processed in accordance with a given heuristic. For example, as
described previously, one heuristic might function to select the
first result that is returned. In another heuristic, a frequency of
occurrence approach can be employed, wherein an item of information
which is identified by a plurality of modules is selected in favor
of one which is identified by only one module. In yet another
embodiment, the results from the various modules can be weighted in
accordance with various criteria, such as their relationship to the
context in which the user input was received.
[0036] The global heuristic which is employed by the information
retrieval manager 18 might also determine the amount of information
to be presented to the user. Ideally, the various plug-in modules,
through the use of confidence factors calculated for each item of
information, would identify a single item of information that best
fits the user's input, and only that item is presented to the user.
In this case, the item can be automatically opened or launched as
well. Various characteristics can be utilized in determining the
confidence factors. For example, if a user input multiple words as
an information descriptor, and an exact match to the input was
found by a plug-in module, the confidence level could be indicated
as being 100 percent. On the other hand, if only half of the words
were found in an item of information, the confidence level would be
less, thereby indicating that this might not be the item of
information sought.
[0037] In practice, however, it is not likely that only one
candidate will provide a good match, particularly if the user
inputs a broad term. Accordingly, the calculation of a confidence
factor associated with each item of information allows the
information retrieval manager to select a relatively limited number
of choices to the user, e.g. the top five candidates according to a
predetermined minimum confidence level. If these choices do not
include the particular item of interest, the user can further
refine the input information.
[0038] Further in this regard, the information retrieval system can
obtain results and display them to the user in real time as the
input is being entered. In this embodiment, each keystroke or
converted speech phoneme is provided to the appropriate plug-in
modules as it is received by the manager 18. For instance, if the
user desires to look at prior tax return information, each of the
letters "T", "A" and "X" are provided to the modules as they are
typed. As soon as the letter "T" is entered, sets of matching items
of information are returned by the modules, and the top five
candidates are displayed. Entry of the letter "A" causes the list
to be updated according to the candidates which match the sequence
of letters "TA". After the letter "X" is typed, the displayed list
might contain the five most recent tax returns that were filed by
the user. If the desired return is not in the list, the user can
continue by entering the year of the desired return, or other
identifying information, until such time as the item of interest is
displayed.
[0039] It will be appreciated that this embodiment, in which the
displayed items are dynamically updated in real time, is best
suited for the retrieval of locally stored information, where
communication rates are relatively fast. For access to remotely
stored information, it may be more appropriate to wait until the
user presses a space key or an "Enter" key before supplying the
input to the modules 22, so that the retrieval is carried out on
the basis of whole words or complete phrases.
[0040] Accordingly, the present invention provides swift access to
information or a list of information that is related to various
descriptors input by a user. Using the heuristic analysis combined
with user input, the present invention is able to present to a user
a manageable amount of information candidates for selection. Thus,
the advantages of a search engine can be exploited, and information
candidates can be retrieved in a reasonable amount of time.
[0041] A particular advantage to the use of plug-in modules to
implement the various retrieval heuristics is the fact that it
readily lends itself to expansion and adaptability to the user's
environment. For instance, the computer's operating system may
contain a few plug-in modules that operate according to the most
popular heuristics. Other plug-in modules may be developed by
various entities to operate according to types of information which
they supply. Thus, if a search engine is designed for use on the
Internet to locate particular types of web pages, a plug-in module
can also be designed to access that search engine and return
results to the information retrieval manager. As other techniques
are developed for locating information, they can also be embodied
in appropriate plug-in modules, to thereby enhance the user's
ability to obtain relevant items of interest.
[0042] It will be appreciated by those of ordinary skill in the art
that the present invention can be embodied in other specific forms
without departing from the spirit or essential characteristics
thereof. The presently disclosed embodiments are therefore
considered in all respects to be illustrative and not restrictive.
The scope of the invention is indicated by the appended claims
rather than the foregoing description, and all changes that come
within the meaning and range of equivalence thereof are intended to
be embraced therein.
* * * * *