The Internet is a worldwide system of interconnected computer networks that transmit data. The World Wide Web (Web) is an information space in which online documents called web pages are stored and published for the entire computing world to access. Anyone connected to the Internet can view the myriad of web pages available online by requesting global identifiers called Uniform Resource Identifiers (URIs) using a transfer protocol, such as the hypertext transfer protocol (HTTP). Once a user requests a URI, the user's web browser retrieves the corresponding web page and displays it on the user's computing device.
The wealth of information available on the Web spawned a specific type of web page called a search engine, which allows a user to locate web resources without knowledge of URIs. Popular examples of search engines include, MSN®, Yahoo!®, and Google®. Once a query is initiated by submitting search terms, a search engine returns a list of hyperlinks to web pages, or other web resources, that are related to the search terms. The user can then select results from the list to view. When a hyperlink is selected, the associated web page is displayed in the web browser.
This summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter.
Embodiments described herein generally relate to displaying a list of search-engine results in the same web-browser window as a viewing frame that is configured to display one of the results. A user interface displays a results page that contains multiple display areas. First, the results of a search-engine query are listed. Second, a viewing frame displays any of the results a user selects. Both are presented in the same web-browser window.
The present invention is described in detail below with reference to the attached drawing figures, wherein:
The subject matter described herein is presented with specificity to meet statutory requirements. The description herein, however, is not intended to limit the scope of this patent. Rather, it is contemplated that the claimed subject matter might also be embodied in other ways, include different steps or combinations of steps similar to the ones described in this document, or be integrated with other present or future technologies. Although the term “block” may be used herein to connote different elements of methods employed, the term should not be interpreted as implying any particular order among or between various steps disclosed herein.
Embodiments described herein generally relate to presenting a list of search-engine results and the display of at least one of those results in the same web-browser window. In one embodiment, results of a search-engine query are displayed in a results page (i.e., a web page containing the retrieved results). When a user selects a listed result, the selected result is retrieved and presented in a viewing frame adjacent to the results list. Both the results list and the retrieved web resource are accessible in the same browser window, allowing the user to select other results in the list and see them in the viewing frame. As a result, the user can easily view each result in the list without having to leave the list of results.
A search-engine query, as discussed herein, refers to any keyword search of the Web by a search engine. Web-search queries may be initiated in any number of ways well known to those skilled in the art. For example, a user may enter keywords or phrases into a text field on a search engine's web page or into a text field of a web browser's tool bar. It will be apparent to those skilled in the art that numerous methods for initiating a search-engine query are also possible and need not be discussed at length herein. While embodiments discussed herein refer to accessing web pages via the Internet, other embodiments may access electronic documents via a private network.
Many conventional search engines allow users to focus web searches on particular types of web resources. Users can select options to only search news articles, web blogs, feeds, online spaces, and other types of online information. Typically, users select the focus of a search then submit keywords. The server executing the search engine will then query for resources of the particular type. As a result, only web resources that are relevant to the keywords and the particular type are returned. While many of the embodiments described herein refer to news-related searches, embodiments are not limited thereto. Rather, one skilled in the art will understand that the web searches described herein may be focused on any of the aforementioned types of web resources.
Having briefly described a general overview of the embodiments described herein, an exemplary operating environment is described below. Referring initially to
The invention may be described in the general context of computer code or machine-useable instructions, including computer-executable instructions such as program modules, being executed by a computer or other machine, such as a PDA or other handheld device. Generally, program modules including routines, programs, objects, components, data structures, and the like refer to code that perform particular tasks or implement particular abstract data types. Embodiments described herein may be practiced in a variety of system configurations, including hand-held devices, consumer electronics, general-purpose computers, more specialty computing devices, etc. Embodiments described herein may also be practiced in distributed computing environments where tasks are performed by remote-processing devices that are linked through a communications network.
With continued reference to
Computing device 100 typically includes a variety of computer-readable media. By way of example, and not limitation, computer-readable media may comprise Random Access Memory (RAM); Read Only Memory (ROM); Electronically Erasable Programmable Read Only Memory (EEPROM); flash memory or other memory technologies; CDROM, digital versatile disks (DVD) or other optical or holographic media; magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, carrier wave or any other medium that can be used to encode desired information and be accessed by computing device 100.
Memory 112 includes computer-storage media in the form of volatile and/or nonvolatile memory. The memory may be removable, nonremovable, or a combination thereof. Exemplary hardware devices include solid-state memory, hard drives, cache, optical-disc drives, etc. Computing device 100 includes one or more processors that read data from various entities such as memory 112 or I/O components 120. Presentation component(s) 116 present data indications to a user or other device. Exemplary presentation components include a display device, speaker, printing component, vibrating component, etc.
I/O ports 118 allow computing device 100 to be logically coupled to other devices including I/O components 120, some of which may be built in. Illustrative components include a microphone, joystick, game pad, satellite dish, scanner, printer, wireless device, etc.
Turning now to
Network 210 may include any computer network or combination thereof. Examples of computer networks configurable to operate as network 210 include, without limitation, a wireless network, landline, cable line, fiber-optic line, local area network (LAN), wide area network (WAN), metropolitan area network (MAN), or the like. Network 210 is not limited, however, to connections coupling separate computer units. Rather, network 210 may also comprise subsystems that transfer data between servers or computing devices. For example, network 210 may also include a point-to-point connection, the Internet, an Ethernet, a backplane bus, an electrical bus, a neural network, or other internal system.
In an embodiment where network 210 comprises a LAN networking environment, components are connected to the LAN through a network interface or adapter. In an embodiment where network 210 comprises a WAN networking environment, components use a modem, or other means for establishing communications over the WAN, to communicate. In embodiments where network 210 comprises a MAN networking environment, components are connected to the MAN using wireless interfaces or optical fiber connections. Such networking environments are commonplace in offices, enterprise-wide computer networks, intranets, and the Internet. It will be appreciated that the network connections shown are exemplary and other means of establishing a communications link between the computers may also be used.
The search-engine server 204, the web server A 206, and the web server N 208 may include any type of application server, database server, or file server configurable to perform the methods described herein. In addition, each of the search-engine server 204, the web server A 206, and the web server N 208 may be a dedicated or shared server. One example, without limitation, of a server that is configurable to operate as the search-engine server 204, web server A 206, and web server N 208 is a structured query language (“SQL”) server executing server software such as SQL Server 2005, which was developed by the Microsoft® Corporation headquartered in Redmond, Wash.
Components of the search-engine server 204, the web server A 206, and the web server N 208 may include, without limitation, a processing unit, internal system memory, and a suitable system bus for coupling various system components, including one or more databases for storing information (e.g., files and metadata associated therewith). Each server typically includes, or has access to, a variety of computer-readable media. By way of example, and not limitation, computer-readable media may include computer-storage media and communication media. In general, communication media enables each server to exchange data via network 210. More specifically, communication media may embody computer-readable instructions, data structures, program modules, or other data in a modulated data signal, such as a carrier wave or other transport mechanism, and may include any information-delivery media. As used herein, the term “modulated data signal” refers to a signal that has one or more of its attributes set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared, and other wireless media. Combinations of any of the above also may be included within the scope of computer-readable media.
While the search-engine server 204 is illustrated as a single box, one skilled in the art will appreciate that the search-engine server 204 is scalable. For example, the search-engine server 204 may in actuality include 100 servers in communication. The single unit depictions are meant for clarity, not to limit the scope of embodiments in any form.
In operation, the search-engine server 204 hosts a search engine designed to receive queries from remote computing devices (such as the client computing device 202) and locate information on the Web or within a private network to satisfy the queries. A query may consist of a request for information on the Web or private network that contains specific keywords or phrases. In addition, a query may include user-specified indications to only search particular types of web resources. In some embodiments, the search engine executing on the search-engine server 204 uses regularly updated indexes, which are created by web crawlers, to quickly locate web pages satisfying a query. Once the web pages are located, their URIs are transmitted back to the client computing device 202 and displayed as hyperlinks thereon. To access a located web page, a user need only select the corresponding hyperlink. One skilled in the art will appreciate that various other techniques exist for mining information on the Web or a private network.
Web pages are stored on the various web servers (e.g., the web servers A 206 and N 208) and accessible via the network 210 using a transfer protocol and relevant URI. The client computing device 202 may fetch a web page by requesting the URI using the transfer protocol. As a result, the web page can be downloaded to the client computing device 202 and stored in memory. The stored web page can then be read by the web browser 212 and presented to a user.
The client computing device 202 may be any type of computing device, such as device 100 described above with reference to
Specifically, the client computing device 202 comprises a web browser 212. The web browser 212 is a software application enabling a user to display and interact with information located on the Web. In an embodiment, the web browser 212 communicates with the search-engine server 204, the web server A 206, and the web server N 208, using a transfer protocol to fetch web pages. Web pages may be located by the web browser 212 by sending the transfer protocol and the URI. The web browser 212 may use other URI types and protocols, such as file transfer protocol (FTP), real-time streaming protocol (RTSP), etc. The web browser 212 can also execute a number of markup languages (e.g., hypertext markup language (HTML) and extensible markup language (XML)) as well as scripting languages (e.g., JavaScript or Visual Basic Scripting Edition (VBScript)).
In operation, the web browser 212 submits a search-engine query entered by the user to the search-engine server 204. In one embodiment, the query includes a designation to only search for keywords in particular types of web resources, such as documents indexed as news articles. Using any number of well-known techniques, the search engine locates web resources that fit the query submitted by the user. For example, a request for news regarding inflation may return several different online articles discussing the subject. Hyperlinks of relevant web pages are returned to the client computing device 202 and arranged in a results page by the web browser 212.
In one embodiment, the results page contains at least two different display portions. One displays a list of hyperlinks—and possibly textual excerpts describing the web pages indicated by the hyperlinks—returned by the search-engine server 204 in response to the search-engine query. The user can select any of the results in the list for viewing in the second portion of the results page (referred to herein as the viewing frame). Once a result's hyperlink is selected, the web browser 212 submits a request for the corresponding web page. This may be done using any well-known transfer protocol (e.g., HTTP, FTP, etc.). In response, the requested web page is downloaded from a web server (e.g., the web server A 206 or the web server N 208) to the web browser 212. The web browser then displays the downloaded web page in the viewing frame.
The results page, which is a web page itself, is configured to display both the results list and the viewing frame. In some embodiments, the results page is encoded with various HTML tags to display both. Other software languages may also be used to create the results page (e.g., JavaScript or any of the aforementioned scripting languages).
In one exemplary embodiment, “frameset” tag divides the results page into multiple portions. A frameset tag is an HTML tag that can instruct the web browser 212 to arrange the content of the results page in a particular way. In another embodiment, an “href” tag is used to retrieve a search result selected by the user, and a “framesrc” tag is used to render the retrieved web page in the viewing frame. One skilled in the art will appreciate that other programming techniques may be used as well, and embodiments are not limited to the above HTML tags.
Users may not wish to view the selected result in the viewing frame; instead, they may desire to load a result in a new web-browser window. To enable such an option, icons may be positioned, in an embodiment, next to each hyperlink in the list of results. Each icon may be configured to retrieve an adjacent web resource and display it in a new web-browser window.
Turning now to
The results page comprises a frame that includes a list of the search results sent by search-engine 204 and a viewing frame that displays results within the list that have been selected by the user. When the user selects a result, indicated by the YES path stemming from block 308, the web resource indicated by the result is retrieved and presented in the viewing frame, as indicated at 310. The web resource can be retrieved by submitting a request for the URI of the result. In one embodiment, the viewing frame displaying the web resource is presented in the same web-browser window as the list of results. If the user subsequently selects a different result in the list, the newly selected result is retrieved and displayed in the viewing frame.
Turning now to
The user may also select a results filter 406 that, in some embodiments, filters the results displayed in the list by a particular criteria. For example, the user may only wish to view news articles about the keywords from trusted news sources or blogs, within a given date, from a particular political view, etc. By selecting an option in the results filter, the web browser is configured, in some embodiments, to compare attributes of the results in the list and only display results that are in accordance with the criteria selected by the user.
In one embodiment, the results page comprises a list area 410, which contains a list of the results of the query, and a viewing frame 414. Hyperlinks and relevant text indicative of web resources may be included in the list. The user may select any of the links to view, and when he/she does, an indicator 416 (e.g., highlighting) may be applied to the selected link. Moreover, the selected link is retrieved and displayed in the viewing frame 414. Alternatively, the link may be presented in a new web-browser window if the user so chooses. Such a feature may be implemented by providing selectable icons next to each result in the list.
From the foregoing, it will be seen that this invention is one well adapted to attain all the ends and objects set forth above, together with other advantages which are obvious and inherent to the system and method. It will be understood that certain features and subcombinations are of utility and may be employed without reference to other features and subcombinations. This is contemplated by and is within the scope of the claims.