|
Description  |
|
|
BACKGROUND OF THE INVENTION
1. Technical Field
The present invention relates in general to data processing systems capable
of operating on the Internet and in particular to browser applications for
operating on the World Wide Web (Internet). More particularly, the present
invention relates to multiple browser applications operating
simultaneously and accessing the Internet. Still more particularly, the
present invention relates to a browser application operating in the
background and accessing Universal Resource Locators (URLS) on the
Internet.
2. Description of the Related Art
The World Wide Web (Web) is a graphic, interactive interface for the
Internet (Internet is often used interchangeably with Web and that will be
done here). There are different programs (web browser clients, referred
hereinafter as web browser) on a data processing system (also referred to
as a computer) connected to the web that are utilized to access servers (a
program on another data processing system) connected to the Web. The
program on the server is generally termed a "website." Websites are a
collection of "web pages," where web pages are graphic displays which are
usually linked together and may be downloaded to a data processing system
utilizing a browser client. Each web page has a unique address, or
Universal Resource Locator (URL) within the Web that is accessible by
utilizing Transfer Control Protocol/Internet Protocol (TCP/IP)
transactions via telecommunication networks and a modem. The address
allows Internet "browser" clients (computer program applications) to
connect and communicate with a HyperText Transfer Protocol (HTTP) server
over the Web.
Generally, each browser client permits multiple windows in operation at the
same time. Each browser window may operate independently and connect with
separate web pages. Each web page visited is usually logged in a history
file or object. If a user, utilizing a web browser, desires to revisit a
particular web page, the user may "bookmark" the page. Bookmarking the
page enters the URL into a descriptive list that may be easily accessed
for multiple repeat visits by utilizing a mouse and clicking on the
displayed URL (as used herein, refers to the unique address of HTTP
resources as well as the content retrieved by an HTTP request including
that unique address).
Many times, users have visited useful web sites and retained useful
bookmarks. Quite often, however, the user forgets to make the positive
action of adding the web page to the bookmark list or, adds the bookmark
but forgets the title of the site. The browser client history file (or
object) automatically records each web page visited and retains it for a
period of time specified by the browser developer or user. Most users
don't know about the history record that is automatically stored and even
if they did, the record is entered in no particular order, thus making it
very hard to search. Additionally, URLs may not be descriptive and if a
user knew there was a subject that the user wanted to re-visit, it would
be difficult to impossible to find that address in the history record.
Even though an ASCII search may be made of both the bookmark and history
records, the URLs (not necessarily descriptive) included may not provide
any clues as to the link between the desired subject and a web page.
Additionally, there are "off-line" browsers that utilize the browser client
to search specified sites for key parameters, but the user must enter an
identification of the pages to be searched. Also, there are stand-alone
off-line browsers that automatically access specified web pages unattended
or in the background and download the web pages. Some parameters may be
entered that are restricted to specific addresses, such as whether or not
the page has changed as compared to a cached page from a previous visit.
Generally, the search programs are unable to search a list that refers to
the last n pages visited, where n is an arbitrary number, nor are the
search programs able to automatically generate a list to search for web
pages visited during a given time frame.
It would be desirable therefore to provide a method and system for
automatically providing a pertinent list to search previously visited web
pages based on specific parameters defined by a user. It would further be
desirable to search, in the background while browsing the web or working
on other projects in the foreground. Also, it would be desirable to at
least search according to: specified keywords, the last n number of pages
visited and a date specific time frame in conjunction with keyword
searches.
SUMMARY OF THE INVENTION
It is therefore one object of the present invention to provide a method for
automatic keyword searching, in the background, on the Internet or in a
cache of web pages stored on a data processing system.
It is another object of the present invention to provide a method for
automatically searching previously visited web pages, not bookmarked, for
specified keywords or for multiple pages visited during a specified period
whether stored in a cache on the data processing system or accessible only
on the Internet.
It is yet another object of the present invention to provide a method for
displaying web pages that contain a specified keyword(s) at the conclusion
of an automatic search.
The foregoing objects are achieved as is now described. A Web browser
having search capabilities, automatically generates a search list of
websites to be searched, from URLs in the browser's bookmark and/or
history files, then automatically accesses and searches each URL on the
Internet or cache on the browser's computer. Each bookmark or each web
page generated for the list, when accessed, may be searched for selected
keywords. URL search parameters are entered into the search function. A
list of URLs is automatically created from the bookmark file and/or the
history file. A new browser is opened and the new browser, in the
background, accesses the Web or cache, connects when prompted, with each
web page listed. Each web page is then searched for keywords provided by a
user. Web pages containing the target keywords are then displayed in a
format selected by the user on the data processing system display.
Individual web pages may be accessed and displayed in successive order by
utilizing the graphical "next/previous" buttons present in the web browser
window.
The above as well as additional objects, features, and advantages of the
present invention will become apparent in the following detailed written
description.
BRIEF DESCRIPTION OF THE DRAWINGS
The novel features believed characteristic of the invention are set forth
in the appended claims. The invention itself however, as well as a
preferred mode of use, further objects and advantages thereof, will best
be understood by reference to the following detailed description of an
illustrative embodiment when read in conjunction with the accompanying
drawings, wherein:
FIG. 1 depicts a typical data processing system, in which a preferred
embodiment of the present invention may be implemented;
FIG. 2 is a high-level block diagram of a data processing system network
utilized within the Internet, in accordance with a preferred embodiment of
the present invention;
FIG. 3A depicts a high-level flow diagram of a process for utilizing a web
browser having search capability to automatically access and search remote
web pages, or web pages stored in cache, for keywords, in accordance with
a preferred embodiment of the present invention;
FIG. 3B, illustrates a process for creating a list for searching URLs
retrieved from a bookmark file or history file associated with an Internet
browser in accordance with the present invention;
FIG. 4A depicts a portion of a bookmark file for a browser, in accordance
with a preferred implementation of the present invention;
FIG. 4B is a portion of the history file for a browser, in accordance with
a preferred implementation of the present invention; and
FIG. 5 depicts a browser window in accordance with a preferred
implementation of the present invention.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT
With reference to the figures and in particular with reference to FIG. 1, a
typical data processing system, in which a preferred embodiment of the
present invention may be implemented, is depicted. A central processing
unit (CPU) 102, such as one of the PC microprocessors available from
International Business Machines Corporation (IBM), is provided and
interconnected to various other components by system bus 101. An operating
system 128 runs on CPU 102, provides control and is used to coordinate the
function of various components of FIG. 1. Operating system 128 may be one
of the commercially available operating systems such as OS/2.TM. operating
system available from IBM. A program, application 130, runs in conjunction
with operating system 128 and provides output calls to operating system
128 which implement the various functions to be performed by application
130.
Read only memory (ROM) 104 is connected to CPU 102, via bus 101 and
includes the basic input/output system (BIOS) that controls basic computer
functions. Random access memory (RAM) 106, I/O adapter 108 and
communications adapter 122 are also interconnected to system bus 101. It
should be noted that software components, including operating system 128
and application 130, are loaded into RAM 106, which is data processing
system's 100 main memory. I/O adapter 108 may be a small computer system
interface (SCSI) adapter that communicates with disk storage device 110.
Communications adapter 122 interconnects bus 101 with an outside network
enabling data processing system 100 to communicate with other such systems
over a local area network (LAN) or wide area network (WAN), which includes
the Internet. I/O devices are also connected to system bus 101 via user
interface adapter 112 and display adapter 124 utilizing various components
such as a digital to analog converter (not shown) and the like. By using
the aforementioned I/O devices, a user is capable of inputting information
to the system through keyboard 114, trackball 120 or mouse 116, and
receiving output information from the system via speaker 118 and display
126.
The architecture depicted in FIG. 1 is provided solely for the purpose of
illustrating and explaining the present invention, and is not meant to
imply any architectural limitations. Those skilled in the art will
recognize that many variations are possible. Processor 100 may include,
for example, multiple integer and floating point execution units to
increase processing throughput. All such variations are within the spirit
and scope of the present invention.
Referring now to FIG. 2, a high-level block diagram of a data processing
system network in accordance with a preferred embodiment of the present
invention, is illustrated. System 200, is comprised of a web browser
search client 202 (the present invention) that is usually included in
system memory and utilizes system processors on a user's data processing
system. System 202 connected to Internet (Web) 204 and servers 206, 208
and 210. To those skilled in the art, it is well known that the Internet,
or Web, has millions of connections of users and servers.
Server 206 is shown having URL 212 of www.austin.com. The URL, as discussed
previously, is a unique address on the Web assigned to only one web page
and is capable of being stored on the hard drive of any data processing
system hard drive. Search client 202 (a browser application on a data
processing system) is seeking a particular address, in this case
www.phoenix.com, and may access World Wide Web 204 which provides a
connection to server 208. The user utilizing search client 202 may or may
not bookmark the address, but the browser will likely store the address in
a history record for a specific period of time (usually the history record
is set to delete URLs that are beyond a certain date to prevent
overloading the data processing system storage).
Search client 202 may be utilized to link to other web pages on servers
throughout the Internet before shutting down, thereby adding confusion as
to which page a desired subject may be located. If a particular subject
was found on server 208 and a bookmark was added to the browser client
bookmark list, it is probable the user will not remember the web page URL
that contained the subject matter. The present invention permits the user
to search for the subject matter in the background while operating on the
Web. Even though the user may not remember which web page contains the
subject matter in question, a search utilizing addresses contained in the
history record/log may be made of each web page visited.
Referring now to FIG. 3A, a high-level flow diagram of a process for
utilizing a web browser to automatically access and search remote web
pages, or web pages stored in cache, for keyword(s) in which a preferred
embodiment of the present invention may be implemented, is depicted. The
process begins with step 302, which depicts a user activating the browser
to begin a keyword search. The process continues to step 304, which
illustrates the user selecting a display method. The process then proceeds
to step 306, which depicts the user entering keyword(s) for the browser to
utilize in the search effort. The step next passes to step 308, which
illustrates the user selecting search criteria for the URLs (time period,
only in cache, only on the Internet, last visited, etc.) and whether the
browser utilizes the bookmark file, the history file or both, to construct
a URL list to search.
The process then proceeds to step 310, which depicts the browser
constructing the URL search list. Next the process passes to step 312,
which illustrates a determination of whether or not the web page
associated with a URL in the URL search list is cached on the hard drive
of the user's data processing system. If the associated web page is cached
on the hard drive of the user's data processing system, the browser may
search the web page without the need to access the Internet. If the web
page is not cached on the hard drive, the process proceeds to step 314,
which depicts the browser accessing the associated web page on the
Internet/Web and downloading the web page to a cache on the hard drive.
The process then proceeds to step 316, which illustrates the browser
searching the downloaded associated web page, or the web page from the
cache, for the keyword(s).
Returning to step 312, if the determination is made that the web page is
cached, the process instead proceeds to step 316 and searches for the
keyword(s). The process then passes to step 318, which depicts a
determination of whether the keyword(s) is located within the web page. If
the keyword(s) is located, the process then passes to step 322, which
illustrates the browser saving the web page to disk cache. The process
then continues to step 320. Returning to step 318, if the determination is
made that no keyword(s) was found, the process instead proceeds to step
320, which depicts a determination of whether there are any more web page
associated with URLs in the URL search list, left to search. If so the
process returns to step 316 and the cycle repeats until there are no
associated web pages to search. If there are no more web pages to search,
the process next proceeds from step 320 to step 324, which illustrates a
determination of whether there are any web pages to display.
If there are no web pages to display, the process then passes to step 338,
which depicts the browser displaying an error message. If the
determination is made that there are web pages to display, the process
instead proceeds from step 324 to step 326, which illustrates a
determination of whether or not to display a list or web page identifiers
(URLs for example) for each of the retrieved web pages. If so, the process
passes to step 328, which depicts the process displaying a listing of
retrieved web pages in a new browser window. If the determination was made
not to display a list of web page identifiers, the process continues to
step 330, which illustrates a determination of whether or not to display
the retrieved web pages utilizing newly originated browser windows. If so,
the process proceeds to step 332, which depicts the process displaying the
retrieved web pages in separate browser windows.
If the determination is not to display in separate browser windows, the
process instead passes from step 330 to step 334, which illustrates a
determination of whether to display the retrieved web pages in a new
browser window and including link history. If the determination is made
not to display the retrieved web pages in a new browser window including
linked history, the process passes to step 338 and an error message is
displayed. If so, the process next passes to step 336, which depicts the
browser displaying the first retrieved web pages in a new window with a
pointer to the next retrieved web pages.
The process then proceeds to step 340, which is a determination of whether
or not to mount a new search. If yes, the process continues to step 304
and the search cycle repeats. If it is determined that there will be no
new search, the process then passes to step 342, which depicts the user
deactivating the search window.
To conduct a search of the previous web pages visited, a user will provide
specific parameters for the search. The search client automatically
generates a search list of URLs from the history log, the bookmark list or
both. The user may specify the period of time to search (i.e., within the
last 3 days) and specify keyword(s) for searching within the Internet
accessed, or cached URLS. Additionally, the search client may search only
cached, only non-cached URLs or both cached and non-cached URLs. Further,
the user may restrict a search to URLs that match or do not match any URL
address or URL title (i.e., it is known that the subject is not located on
this URL), in the generated list, prior to searching within a URL for a
specified keyword(s).
Referring to FIG. 3B, a process for creating a list for searching URLs
retrieved from a bookmark file or history file associated with an Internet
browser in accordance with the present invention, is illustrated. The
process begins with step 350, which depicts the search function of the web
browser receiving input from the web browser operator consisting of
keywords, dates, pages visited, which files to create a list from, etc.
The process proceeds to step 352, which illustrates a determination of
whether the operator has selected the web browser bookmark file and the
history file from which to create a search list. If the operator has
selected both, the process passes to step 354, which depicts the search
function accessing and parsing both files comparing input parameters for
matching parameters. The process then proceeds to step 356, which
illustrates the search function creating a list of URLs that match the
parameters input by the operator.
If the determination in step 352 is that the operator has not selected the
both files, the process instead passes to step 358, which illustrates a
determination of whether or not the operator has chosen the web browser
bookmark file. If so, the process proceeds to step 360, which depicts the
search function accessing the bookmark file. The process then proceeds to
step 362, which illustrates the search function parsing the bookmark file
attempting to match input parameters to URLs. Next, the process continues
to step 356, which illustrates the search function creating a search list
of URLs that match the parameters input by the operator.
Returning to step 358, if the determination is made that the operator has
not selected the bookmark file, the process proceeds instead to step 364,
which depicts a determination of whether the operator selected the history
file to search. If the history file is selected, the process then proceeds
to step 366, which illustrates the search function accessing the browser
history file. The process next passes to step 362, which depicts the
search function parsing the history file and attempting to match search
parameters to URLs. The process then passes to step 356, which illustrates
creating the search list of matching URLs. Returning to step 364, if the
determination is made that the operator has not selected both files, the
process instead proceeds to step 368, which depicts the search function
returning an error message instructing the operator to select one or both
files. The process then returns to step 350 and awaits input from the
operator.
Referring now to FIG. 4A, a portion of a bookmark file for a browser, in
accordance with a preferred implementation of the present invention, is
depicted. Names of bookmarked URLs are shown, with each name in the list
being uniquely associated with a specific URL (not shown). As discussed
previously, the present invention requires no entry of URLs to search as
required by offline browsers. The browser automatically searches all
browser bookmark and/or history entries. File designation 400 is acquired
by the browser and searched, in this instance utilizing American Standard
Code for Information Interchange (ASCII) as a search method for key words,
or parameters, that have been input by the user. The browser searches URLs
associated with categories 402 and web page titles 404 applying search
parameters.
Referring to FIG. 4B, a portion of the history file for a browser, in
accordance with a preferred implementation of the present invention, is
illustrated. File name 410 is the title of the history file and may be
searched by the present invention, utilizing ASCII search methods. Even
though the search is conducted utilizing ASCII, the search mechanism may
not be limited to ASCII. URL 412 is an address of a specific web page on
the internet and Date 414 is the date a specific URL was visited. Both the
history and bookmark files may b e searched separately or combined; in
cache or on the Internet.
Referring to FIG. 5, a browser window in accordance with a preferred
implementation of the present invention is depicted. Browser window 500
graphic is displayed on a data processing system terminal and includes:
next/previous buttons 502 that may be used to switch between URLs that
have been retrieved; bookmark button 504 may be clicked to include a
bookmark file in the initial search; history button 506 which may be
clicked to include the history file in the initial search; date button and
box 508 which may be clicked to provide a time period in which to search;
cache button 510, which may be clicked to include the onboard browser
cache for searching URLs that may be stored in the browser cache; pages
box 511, which provides for receiving a set number of web pages to search;
search parameter box 512, which allows for entry of keywords that the
browser may utilize to search when a URL is found and downloaded and
search button 514, which is clicked to start the search procedure. The
user has a choice to display the results in one of three ways. The choice
may be window 516, which provides that the results be displayed,
individually in a new browser window (i.e., 5 results, 5 browser windows).
If the choice is multiple 518, multiple windows display an individual web
page in each window and each window is accessed by next/previous button
502. If the user selects linked 520, a list of downloaded URLS is
displayed in the browser window, with each URL linked to the downloaded or
cached web pages.
The browser search window requires no entry of URLs to search, as required
by offline browsers. Also, the browser: permits a search of URLs whether
the web pages are cached on the local hard drive or available only on the
Web; permits basing a search on time periods (i.e., date last or first
visited); permits basing a search on the last URL search (search for new
keywords on a previous search) and permits searches of the last n number
of URLs visited, with n being an arbitrary number entered by the user.
It is important to note that while the present invention has been described
in the context of a fully functional data processing system, those skilled
in the art will appreciate that the mechanism of the present invention is
capable of being distributed in the form of a computer readable medium of
instructions in a variety of forms, and that the present invention applies
equally, regardless of the particular type of signal bearing media
utilized to actually carry out the distribution. Examples of computer
readable media include: nonvolatile, hard-coded type media such as read
only memories (ROMS) or erasable, electrically programmable read only
memories (EEPROMs), recordable type media such as floppy disks, hard disk
drives and CD-ROMs, and transmission type media such as digital and analog
communication links.
While the invention has been particularly shown and described with
reference to a preferred embodiment, it will be understood by those
skilled in the art that various changes in form and detail may be made
therein without departing from the spirit and scope of the invention.
* * * * *
|
|
|
|
|
Description  |
|