# Patent

## Title
Method and system for unified searching and incremental searching across and within multiple documents

## Abstract

A user-interface system and method for searching among multiple documents and searching for subsections within individual documents using a single search interface on an input-constrained user device having a screen and a keypad.

## Background
CROSS-REFERENCE TO RELATED APPLICATIONS
This application is a continuation of U.S. patent application Ser. No. 13/657,429, filed Oct. 22, 2012, entitled Method and System for Unified Searching and Incremental Searching Across and Within Multiple Documents, which application is a continuation of U.S. patent application Ser. No. 12/126,409 filed on May 23, 2008, entitled Method and System for Unified Searching and Incremental Searching Across and Within Multiple Documents, now U.S. Pat. No. 8,296,294, which claims the benefit of U.S. Provisional Application 60/940,136, filed on May 25, 2007.


FIELD OF THE INVENTION
The present invention relates to user interfaces for searching and browsing and, more specifically, to user interfaces for searching within a document and across multiple documents.
DISCUSSION OF RELATED ART
Currently, searching within a document and searching across documents requires two separate interfaces. Users typically search across documents using either a search engine, such as Google or a site specific search (such as Wikipedia search, Amazon search, etc.). Users typically search within a document using the functionality provided by web browsers, such as Internet Explorer or Firefox. There has not been a great need from a usability standpoint to combine these two interfaces, particularly on desktop or laptop computers, because they have enough screen space to display both at the same time, a full QWERTY keypad, and easy random access to any point on the screen using a mouse/touch pad interface. The need to display all matches for an input search term is addressed by Google (via a browser add-in) by highlighting the search matches in a document (see FIG. 1)—the user then must visually identify the right section of the document by looking for the highlighted matched locations (which may require the user to scroll through the document).
This approach works well on devices with large displays, but on display constrained devices, the user must expend considerable effort to navigate through pages to find the matches. The Firefox browser's find interface (see prior Art II) reduces the effort to find the matches by navigating to each match sequentially with the touch of an interface button (“Next”). However, the matches can span across pages, making the navigation process cumbersome. The context information surrounding the match in some cases can be more than a page of information, which, in most cases, is too much information to visually scan quickly. This is particularly true on display constrained devices, where a “page” of information is a relatively small amount of text.
To summarize, a common approach of the various search interfaces (e.g. web sites such as Google, Amazon, US Patent Office, and browsers such as Firefox browser, Internet Explorer, etc.), for handling searches within a document and across a document is separating the text input interfaces for searching across the document and for searching within the document. The former is typically done using a search engine or a web site and the latter using a browser search interface applied to the downloaded document. Furthermore, the process of searching within a document is typically a sequential traversal of “within document” matches with surrounding context information associated with each match being the actual document content itself. These interface approaches, while they may be convenient for personal computer devices with large screens and full, unambiguous keyboards, are highly cumbersome on mobile and television-like devices that are input and/or display constrained.
SUMMARY OF THE INVENTION
This invention provides user-interface methods and systems for searching among multiple documents and searching for subsections within individual documents using a single searching interface on an input-constrained user device having a screen and a keypad, the method comprising displaying a text input component, receiving a set of query terms in said text input component, receiving, responsive to the received query terms, a set of document bookmarks and a set of document pointers referring to documents within a widely-distributed computer network, allowing the user to select from among these document bookmarks and pointers, and displaying the selected document beginning at a point within said document, if a document bookmark is selected, or a the beginning of the document, if a document pointer is selected.
Under another aspect of the invention, the document bookmarks are generated by retrieving the contents of the document and inferring its structure.
Under another aspect of the invention, the document bookmarks relate to documents that have been previously selected by the user.
Under another aspect of the invention, the document bookmarks are generated by retrieving the contents of the document and inferring its structure, after the user has selected said document.
Under another aspect of the invention, indicators are displayed adjacent to the displayed document pointers, in order to distinguish the displayed document pointers from the displayed document bookmarks.
Under another aspect of the invention, the keypad of the device may be an overloaded keypad that produced ambiguous text input.



BRIEF DESCRIPTION OF THE DRAWINGS
For a more complete understanding of various embodiments of the present invention, reference is now made to the following descriptions taken in connection with the accompanying drawings in which:
FIG. 1 is a screenshot of a prior art interface.
FIG. 2 is a screenshot of a prior art interface.
FIG. 3 illustrates an embodiment of a search system where a search is done on a network system and results are returned to a client device.
FIG. 4 illustrates an interface for searching and displaying results.
FIG. 5 illustrates the results matching user input and the documents that are being linked to by the result.
FIG. 6 illustrates a display of all matches within a document and a subsequent incremental search within the context of a selected document.
FIG. 7 illustrates a portion of a selected document presented in response to a search within the document; it also illustrates a user choosing another result from a previously presented results list.
FIG. 8 is a diagram that depicts a client device, according to certain embodiments of the invention.



DETAILED DESCRIPTION
Embodiments of the present invention provide a unified interface that enables a user to search across multiple documents and within a particular document using a single search query input. The interface enables the user to identify possible documents of interest as well as specific sections within those identified documents that are relevant to the user's query input. The interface enables a user to maintain and refine query information as the user moves among searching for documents, searching within a selected document, and viewing the content of the documents. The unified interface operates on an “index” associated with a document, described below, in order to present the most relevant sections of multiple documents in a small display area. Thus, the interface is particularly beneficial to a user of a display-constrained device in the sense that it enables the user to quickly identify sections of interest in various documents.
As used herein, the term “index” is intended to represent any organization of the contents of a document. The index on which the interface operates can be created, for example, by the document author, by another individual, or by a separate document indexing step or process. The index can be a separate entity or can be incorporated in the document itself. For example, an index could simply be headings of a document, or an index could be named anchors within an HTML document. This indexing can be performed in advance, or on-the-fly during the search process. The document may be of any type: standard techniques may be used to parse plain text and HTML documents, and there are many tools that permit on-the-fly extraction of data from binary files in proprietary formats (e.g., Microsoft Word, Adobe PDF, etc.).
FIG. 3 illustrates an embodiment of the system using the techniques disclosed herein for performing searches using a wide range of devices. A server farm [301] can serve as the source of search data (units of search data are known as documents) and relevance updates with a network [302] functioning as the distribution framework. The distribution framework may be a combination of wired and wireless connections. Examples of possible networks include cable television networks, satellite television networks, IP-based networks (including IP television networks), wireless CDMA and GSM networks. The search devices could have a wide range of interface capabilities, such as a hand-held device [303] (e.g., a phone or PDA) with a limited display size and a reduced keypad with overloaded keys, a television [304a] coupled with a remote control device [304b] having an overloaded keypad, and a Personal Computer (PC) [305] with a reduced keyboard and a computer display. According to another embodiment of the invention, the search happens locally on the device and results are rendered locally on the user interface.
FIG. 4 illustrates a visual presentation of a user interface for performing a search within a document and across documents. This interface can use a variety of search engines, including those known in the art. The interface [401] has a text input portion [402] for accepting user search input characters that constitute the input query. The input method could employ a QWERTY style keypad or a keypad with overloaded keys (i.e., a keypad in which multiple characters and/or numerals are assigned to a single key). The interface can be used with incremental search techniques, in which results are retrieved as each character is typed. Techniques for selecting a set of results responsive to the user's query include, but are not limited to, those disclosed in U.S. patent application Ser. No. 11/235,928, entitled Method and System For Processing Ambiguous, Multi-Term Search Queries, filed Sep. 27, 2005, U.S. patent application Ser. No. 11/136,261, entitled Method and System For Performing Searches For Television Content Using Reduced Text Input, filed May 24, 2005, and U.S. patent application Ser. No. 11/246,432, entitled Method and System For Incremental Search With Reduced Text Entry Where The Relevance of Results is a Dynamically Computed Function of User Input Search String Character Count, filed Oct. 7, 2005, all of which are herein incorporated by reference. However, an incremental search method is not required, as the interface can be used with queries comprising full complete terms, which are dispatched with an explicit send action. The results section [403] presents the results returned from the search engine employed.
For example, when the user enters an incremental search input query “dopam” [404], a search engine connected to the interface [401] returns a set of results [405] matching “dopamine”. These results [405] are presented in results section [403]. As described in the applications incorporated above, results can be selected based on descriptive terms and/or metadata associated with the documents.
FIG. 5 illustrates an expanded representation of the results presented in FIG. 4 for the search query “dopam”. Each of the rows in the set of results [403] points to a different document (documents [501-505]) matching the term “dopamine”. In this example, document [501] is included in the result set because it has been indexed under the subject of dopamine. While the other documents [502-505] are indexed under subjects other than dopamine, dopamine is a term included in these documents' metadata; thus, these documents are also returned in response to the search. The figure also depicts a listing [510] of the various sections of the document [501], organized according to the index information associated with the document [501].
Referring to FIG. 4, when the user selects a result [406], which corresponds to a particular document [501, FIG. 5], the interface lists the sections [510] of the document [501] that are relevant to the search query term “dopam”, which, as explained above, matches the term “dopamine”.
FIG. 6 illustrates this listing [600], in which results are presented in a content display portion [601]. In this listing, the user query in text input portion [602] is changed to “dopamine” to reflect the current document's subject as indicated by the document's index. This clearly indicates to the user that the user is now viewing content associated with a document having the subject dopamine (i.e., it indicates that the user is within the dopamine context).
Screens 600, 610, and 620 of FIG. 6 illustrate how the unified interface enables the user to search for, select, and view desired sections of a document discovered as described above. When the user navigates to the “biochemistry” section [511] (which is highlighted in the figure) of the document [501], the user can optionally activate a preview feature on the interface device to expand the row dedicated to the biochemistry of dopamine in order to view additional content associated with the biochemistry section of the document [501]. Aspects of this optional metadata expansion feature are described in U.S. Provisional Patent Application No. 60/940,182, entitled Method and System for Search with Reduced Physical Interaction Requirements, filed on May 25, 2007 and incorporated by reference herein.
In this example, the user finds the biochemistry section to be of interest. Thus, the user acts on one of an array of selectable actions [604] to retrieve and view the contents of the biochemistry section of the document [501]. The interface responds by presenting the contents of the document, starting at the biochemistry section [601], in place of the results list portion of the screen. Meanwhile, because the user is still within the same overall document [501], the context has not changed, and thus the text input portion [602] remains set to “dopamine”.
The user is then able to read the portion of the document [501] describing the biochemistry of dopamine. Because the interface has presented the entire contents of the document, the user is able to scroll within the document to review other sections of that document. In addition, the interface enables the user to initiate a new search, starting with the context of the current document, namely, the “dopamine” context. Referring to screen [620] of FIG. 6, upon the user beginning to enter additional query text, the interface places the new entry into text input portion [602] along with the existing search term “dopamine” provided by the document context. Thus, the combined query would be “dopamine parkin” The interface would then replace the document contents in content display portion [601] with a set of search results that are relevant to the new combined search query. Had the user deleted the term “dopamine” and begun entering a new term, the interface would query only the search space outside the current document.
In the illustration, the user has entered “parkin”, to represent “Parkinson's disease”, as an additional search criterion. The interface adds this search term to text input portion [602] and submits the query to the search engine. Again, as described above, this query can be an incremental query.
The search engine searches both the current document [501], as well as the search space outside the current document. Thus, the result set for the new combined query presented in the content display portion [601] includes links to sections of the current document [501] as well as links to new documents. The interface can optionally provide an indication [606] to shown which results are external to the current document. In screen [620], the result “Disorders (Parkinson's)” does not have the indication [606] because it is linked to a section of the document [501] that is relevant to the combined query. By automatically getting results that do not belong to the current document and listing them after the results in the current document, it enables the user to get to his desired result faster.
Upon the user selecting the result [607], “Disorders (Parkinson's)”, the interface presents the contents of the document [501], starting at the “Disorders (Parkinson's)” section, as described above in connection with the biochemistry section. This is illustrated in screen 700 of FIG. 7, in which the content of the document in presented in a content display portion [701]. After reading the portion of the document, the user activates a browse-back function to return to the previous results list, shown in screen 710. This screen retains the previous combination query “dopamine parkin” in the text input portion [702], which corresponds to the text input portion [602] of screen 620 of FIG. 6.
From this screen [710], the user may select an external result [703], “Parkinson's disease”, which corresponds to document 503 of FIG. 5. Upon presenting the content of the document [503] in the content display portion [701] of the screen [720], the interface also changes the text input portion [702] to “Parkinson's” because the document has been indexed under the subject of Parkinson's. In this example, the interface presents the contents of the new document
directly, without first displaying a result set of the various sections of the document (as the interface had done for the previous document [501]). The factors influencing whether the interface presents the document content directly or presents a result set of sections of the document that match the query text may include (1) the availability of an index of the document, (2) the size and length of the document, (3) the number of sections of the document, and (4) whether the search query terms match the terms contained in the indexed subject of the document. For example, the interface may present the document content directly if an index of sections is not available, if the number of sections is relatively small, or if the document content itself is short.
As for the fourth criterion above, if the user had searched for “Parkinson's” (or an incremental entry that matches “Parkinson's”) outside of any document context, the interface would have returned a set of results that included links to documents 501 and 503 because these documents contain content relevant to Parkinson's. However, because the indexed subject for document 501 is “dopamine” rather “Parkinson's”, the entries in the result set for document 501 would link to the sections within the document that match the “Parkinson's” query term. However, because the indexed subject for document 503 and the query term match (i.e. both contain “Parkinson's”) the entry in the result set for document 503 would link directly to the content of that document. Documents are preferably indexed under only one subject. However, in systems where documents are indexed under a number of subjects, the content of the document will be directly linked if the search terms match any of the subjects associated with the document.
FIG. 8 is a diagram that depicts the various components of a user device, according to certain embodiments of the invention. The user device communicates with the user via a display [801] and a keyboard [804]. This keyboard may be an overloaded keyboard that produces ambiguous text input. Computation is performed using a processor [802] that stores temporary information in a volatile memory store [803] and persistent data in a persistent memory store [806]. Either or both of these memory stores may hold the computer instructions for the processor to perform the logic described above. The device is operable to connect to a remote system using a remote connectivity module [805].
Thus, implementations of the invention enable the reordering of sections of documents in a way that presents the information most relevant to the search query in an easily accessible manner. Documents whose indexed subjects do not match the query terms, but have sections within them that do match the query terms, are represented so as to enable the user to link directly to the relevant material without having to scan through less relevant sections. As mentioned above, these aspects are particularly helpful when implemented on display constrained devices, on which scanning through large amounts of information is particularly burdensome.
To summarize, embodiments of the present invention provide for a single user interface that enables the user to search across and within documents. The matches within a document are presented in the same manner as those results of searches across multiple documents. This unified interface enables the user to quickly identify matches within a document for a query and select it.
Furthermore, the interface seamlessly enables the user to switch between searching within a document and searching across documents simply by clearing the document context displayed in the text input portion of the interface.
It will be appreciated that the scope of the present invention is not limited to the above-described embodiments, but rather is defined by the appended claims; and that these claims will encompass modifications of and improvements to what has been described.

## Claims

1. A user-interface method of searching among multiple documents and searching for subsections within individual documents using a single search interface on an input-constrained user device having a screen and a keypad, the method comprising:
displaying, in a first portion of the screen, a user interface text input component operable to receive search query input entered using the keypad;
receiving search query input entered into the text input component by a user of the device;
receiving, responsive to the received query input, a set of document index section indicators, wherein each document index section indicator uniquely identifies a specific point within an associated document and is associated with a subsection within said associated document, wherein the subsection associated with the specific point matches at least a portion of the query input, and wherein the set of document index section indicators includes a first document index section indicator associated with a first document and a second document index section indicator associated with a second document, the first document and the second document being different documents;
receiving, responsive to the received query input, a set of document pointers, where each pointer uniquely identifies a document;
displaying, in a second portion of the screen, said document index section indicators and document pointers;
receiving browse actions from the user to browse through and to select one of said document index section indicators and document pointers;
displaying, if a document index section indicator is selected, the identified document, beginning at the identified point within said document so that the user is presented with the subsection within said document that is relatively more relevant to the query input without having to first scan through one or more other subsections within said document that are relatively less relevant to the query input, or displaying, if a document pointer is selected, the beginning of the identified document;
setting, responsive to the document selection, a query context that includes at least one document context associated with the selected document, wherein the document context represents an attribute of the selected document;
subsequent to displaying the selected document, receiving subsequent search query input entered into the text input component by the user of the device; and
displaying, responsive to the subsequent search query input and the set query context, a first set of document index section indicators for the selected document and a second set of document index section indicators for an unselected document in the second portion of the screen.

2. The method according to claim 1, further comprising generating each of the document index section indicators by retrieving the contents of a document and inferring the structure of said document.

3. The method according to claim 1, wherein the received document index section indicators point to documents that have been previously selected by the user.

4. The method according to claim 1, further comprising generating each of the document index section indicators by retrieving the contents of a document and inferring the structure of said document, where said document has been previously selected by the user.

5. The method according to claim 1, further comprising displaying indicators adjacent to the displayed document pointers, in order to distinguish the displayed document pointers from the displayed document index section indicators.

6. The method according to claim 1, wherein the keypad is an overloaded keypad.

7. A user-interface method of incrementally searching among multiple documents and incrementally searching for subsections within individual documents using a single incremental search interface on an input-constrained user device having a screen and a keypad, the method comprising:
displaying, in a first portion of the screen, a user interface text input component operable to receive incremental keystrokes entered using the keypad;
receiving a sequence of incremental keystrokes entered into the text input component by a user of the device, wherein the sequence of incremental keystrokes represents a search query input;
in response to each incremental keystroke of the sequence of incremental keystrokes, receiving a set of document index section indicators, wherein each document index section indicator uniquely identifies a specific point within a document associated with a subsection within said document, and wherein the subsection associated with the specific point matches at least a portion of the sequence of incremental keystrokes;
in response to each incremental keystroke of the sequence of incremental keystrokes, receiving a set of document pointers, where each pointer uniquely identifies a document;
displaying, in a second portion of the screen, said document index section indicators and document pointers;
receiving browse actions from the user to browse through and to select one of said document index section indicators and document pointers;
displaying, if a document index section indicator is selected, the identified document, beginning at the identified point within said document so that the user is presented with the subsection within said document that is relatively more relevant to the matched portion of the sequence of incremental keystrokes without having to first scan through one or more other subsections within said document that are relatively less relevant to the matched portion of the sequence of incremental keystrokes, or displaying, if a document pointer is selected, the beginning of the identified document;
setting, responsive to the document selection, a query context that includes at least one document context associated with the selected document, wherein the document context represents an attribute of the selected document;
subsequent to displaying the selected document, receiving a subsequent sequence of incremental keystrokes entered into the text input component by the user of the device, wherein the subsequent sequence of incremental keystrokes represents a subsequent search query input; and
in response to each incremental keystroke of the subsequent sequence of incremental keystrokes, displaying a first set of document index section indicators for the selected document and a second set of document index section indicators for an unselected document in the second portion of the screen based on the set query context and at least a portion of the subsequent sequence of incremental keystrokes.

8. The method according to claim 7, further comprising generating each of the document index section indicators by retrieving the contents of a document and inferring the structure of said document.

9. The method according to claim 7, wherein the received document index section indicators point to documents that have been previously selected by the user.

10. The method according to claim 7, further comprising generating each of the document index section indicators by retrieving the contents of a document and inferring the structure of said document, where said document has been previously selected by the user.

11. The method according to claim 7, further comprising displaying indicators adjacent to the displayed document pointers, in order to distinguish the displayed document pointers from the displayed document index section indicators.

12. The method according to claim 7, wherein the keypad is an overloaded keypad.

13. A system for searching among multiple documents and searching for subsections within individual documents using a single search interface on an input-constrained user device having a screen and a keypad, the system comprising:
computer memory store comprising instructions in computer readable form that when executed cause a computer system to:
display, in a first portion of the screen, a user interface text input component operable to receive search query input entered using the keypad;
receive search query input entered into the text input component by a user of the device;
receive, responsive to the received query input, a set of document index section indicators, wherein each document index section indicator uniquely identifies a specific point within an associated document and is associated with a subsection within said associated document, wherein the subsection associated with the specific point matches at least a portion of the query input, and wherein the set of document index section indicators includes a first document index section indicator associated with a first document and a second document index section indicator associated with a second document, the first document and the second document being different documents;
receive, responsive to the received query input, a set of document pointers, where each pointer uniquely identifies a document;
display, in a second portion of the screen, said document index section indicators and document pointers;
receive browse actions from the user to browse through and to select one of said document index section indicators and document pointers;
display, if a document index section indicator is selected, the identified document, beginning at the identified point within said document so that the user is presented with the subsection within said document that is relatively more relevant to the query input without having to first scan through one or more other subsections within said document that are relatively less relevant to the query input, or displaying, if a document pointer is selected, the beginning of the identified document;
set, responsive to the document selection, a query context that includes at least one document context associated with the selected document, wherein the document context represents an attribute of the selected document;
subsequent to displaying the selected document, receive subsequent search query input entered into the text input component by the user of the device; and
display, responsive to the subsequent search query input and the set query context, a first set of document index section indicators for the selected document and a second set of document index section indicators for an unselected document in the second portion of the screen.

14. The system according to claim 13, the computer memory store further comprising instructions that cause the computer system to generate each of the document index section indicators by retrieving the contents of a document and inferring the structure of said document.

15. The system according to claim 13, wherein the received document index section indicators point to documents that have been previously selected by the user.

16. The system according to claim 13, the computer memory store further comprising instructions that cause the computer system to generate each of the document index section indicators by retrieving the contents of a document and inferring the structure of said document, where said document has been previously selected by the user.

17. The system according to claim 13, the computer memory store further comprising instructions that cause the computer system to display indicators adjacent to the displayed document pointers, in order to distinguish the displayed document pointers from the displayed document index section indicators.

18. The system according to claim 13, wherein the keypad is an overloaded keypad.

19. A system for incrementally searching among multiple documents and incrementally searching for subsections within individual documents using a single incremental search interface on an input-constrained user device having a screen and a keypad, the system comprising:
computer memory store comprising instructions in computer readable form that when executed cause a computer system to:
display, in a first portion of the screen, a user interface text input component operable to receive incremental keystrokes entered using the keypad;
receive a sequence of incremental keystrokes entered into the text input component by a user of the device, wherein the sequence of incremental keystrokes represents a search query input;
in response to each incremental keystroke of the sequence of incremental keystrokes, receive a set of document index section indicators, wherein each document index section indicator uniquely identifies a specific point within a document associated with a subsection within said document, and wherein the subsection associated with the specific point matches at least a portion of the sequence of incremental keystrokes;
in response to each incremental keystroke of the sequence of incremental keystrokes, receive a set of document pointers, where each pointer uniquely identifies a document;
display, in a second portion of the screen, said document index section indicators and document pointers;
receive browse actions from the user to browse through and to select one of said document index section indicators and document pointers;
display, if a document index section indicator is selected, the identified document, beginning at the identified point within said document so that the user is presented with the subsection within said document that is relatively more relevant to the matched portion of the sequence of incremental keystrokes without having to first scan through one or more other subsections within said document that are relatively less relevant to the matched portion of the sequence of incremental keystrokes, or displaying, if a document pointer is selected, the beginning of the identified document;
set, responsive to the document selection, a query context that includes at least one document context associated with the selected document, wherein the document context represents an attribute of the selected document;
subsequent to displaying the selected document, receive a subsequent sequence of incremental keystrokes entered into the text input component by the user of the device, wherein the subsequent sequence of incremental keystrokes represents a subsequent search query input; and
in response to each incremental keystroke of the subsequent sequence of incremental keystrokes, display a first set of document index section indicators for the selected document and a second set of document index section indicators for an unselected document in the second portion of the screen based on the set query context and at least a portion of the subsequent sequence of incremental keystrokes.

20. The system according to claim 19, the computer memory store further comprising instructions that cause the computer system to generate each of the document index section indicators by retrieving the contents of a document and inferring the structure of said document.

21. The system according to claim 19, wherein the received document index section indicators point to documents that have been previously selected by the user.

22. The system according to claim 19, the computer memory store further comprising instructions that cause the computer system to generate each of the document index section indicators by retrieving the contents of a document and inferring the structure of said document, where said document has been previously selected by the user.

23. The system according to claim 19, the computer memory store further comprising instructions that cause the computer system to display indicators adjacent to the displayed document pointers, in order to distinguish the displayed document pointers from the displayed document index section indicators.

24. The system according to claim 19, wherein the keypad is an overloaded keypad.