WikiPatents - Community Patent Review
Create Free Account  |  License or Sell Your Patent  |  WikiPatents Marketplace  |  WikiPatents Blog
Username:  Password:  
    
Advanced Search
Method and system in a computer network for automatically adding synchronization points to network documents    
United States Patent6192383   
Link to this pagehttp://www.wikipatents.com/6192383.html
Inventor(s)Cragun; Brian John (Rochester, MN)
AbstractA method and system for uniformly indexing a network document displayed within a computer display screen in a computer network having a group of clients connectable to one or more servers, wherein the network document is composed of displayable components. Initially, all displayable components within the network document are identified. Next, the displayable components are serially evaluated against a profile list of particular displayable components within the network document, in response to identifying all displayable components within the network document. Finally, synchronization points are automatically inserted at predetermined locations within the network document, in response to serially evaluating the displayable components against the profile list, wherein each synchronization point is associated with a particular displayable component contained within the profile list, thereby permitting users reviewing copies of the same network document in varying display formats to refer to identical locations within the network document relative to the synchronization points, regardless of the type of display format utilized to display the network document at each of the group of clients within the computer network. The network document may be composed of a World Wide Web document. The web document is thus parsed and all components belonging to the component list are serially marked. This is accomplished utilizing a special tag for processing and a follow-up tag for display. The result is a uniform and consistent set of synchronization points throughout the document.
   














 Title Information Submit all comments and votes
 
Patent Text Patent PDF Print Page Summary File History
Plain text PDF images Print Summary File History
Drawing from US Patent 6192383
Method and system in a computer network for automatically adding

     synchronization points to network documents - US Patent 6192383 Drawing
Method and system in a computer network for automatically adding synchronization points to network documents
Inventor     Cragun; Brian John (Rochester, MN)
Owner/Assignee     International Business Machines Corporation (Armonk, NY)
Patent assignment
All assignments
Publication Date     February 20, 2001
Application Number     09/150,708
PAIR File History     Application Data   Transaction History
Image File Wrapper   Patent Term   Fees
Litigation
Filing Date     September 10, 1998
US Classification     715/513 707/201
Int'l Classification     G06F 017/21
Examiner     Feild; Joseph H.
Assistant Examiner    
Attorney/Law Firm     Felsman, Bradley, Vaden, Gunter & Dillon
Address
Parent Case    
Priority Data    
USPTO Field of Search     707/530 707/501 707/513 707/201 345/329 345/332 345/331 345/302 709/217 709/218 709/219 709/217 709/218 709/219
Patent Tags     computer network automatically adding synchronization points network documents
   
Enter a comma (,) or semicolon (;) between multiple tag words/phrases.
Describe this patent:
 Amusing   
 Clever   
 Complex   
 Efficient   
 Historic   
 Important   
 Innovative   
 Interesting   
 Practical   
 Simple   
[no votes]
Patent WIKI

Share information and news about this patent, including information and news about the technology, inventors, company, ligation and licensing.

 References Submit all comments and votes
 
*references marked with an asterisk below are user-added references
 U.S. References
 
Add a new US reference:  
ReferenceRelevancyCommentsReferenceRelevancyComments
6105044
DeRose

Aug,2000

[0 after 0 votes]
6052735
Ulrich

Apr,2000

[0 after 0 votes]
6023708
Mendez
707/203
Feb,2000

[0 after 0 votes]
5928329
Clark
709/227
Jul,1999

[0 after 0 votes]
5819084
Shapiro

Oct,1998

[0 after 0 votes]
5659746
Bankert
707/205
Aug,1997

[0 after 0 votes]
5583922
Davis
379/93.09
Dec,1996

[0 after 0 votes]
5159669
Trigg
715/814
Oct,1992

[0 after 0 votes]
5063495
MacPhail

Nov,1991

[0 after 0 votes]
5040142
Mori
715/511
Aug,1991

[0 after 0 votes]
5008853
Bly

Apr,1991

[0 after 0 votes]
4974173
Stefik
715/751
Nov,1990

[0 after 0 votes]
 Foreign References
 Other References
 Market Review Submit all comments and votes
   
Market Size
Estimate the gross annual revenues of the relevant market sector:
> $10B
$5B - $10B
$2B - $5B
$500M - $2B
$100M - $500M
$10M - $100M
$1M - $10M
$500K - $1M
$100K - $500K
< $100K
[No votes]
$0
 
$0   $2.5B   $5B   $7.5B   $10B
Market Share
Estimate the percentage of the relevant market sector this invention will capture:
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%
Reasonable Royalty
What percentage of gross sales should the inventor or assignee be paid?
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%
Public's "Guesstimation" of Royalty Value
Market SizeN/A[No votes]
xMarket ShareN/A[No votes]
xReasonable RoyaltyN/A[No votes]

N/A

License Availablity
If you are NOT the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
License Availablity
If you ARE the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
Competitive Advantage
Does this invention have a significant competitive advantage over similar technologies?
Yes

No



[No votes]
Most helpful competitive advantage comment
[No comments]

Commercial Alternatives
Are there viable commercial alternatives for this invention?
Yes

No



[No votes]
Most helpful commercial alternative comment
[No comments]

 Technical Review Submit all comments and votes
 Claims Submit all comments and votes
 


What is claimed is:

1. A method for uniformly indexing a network document displayed within a computer display screen in a computer network having a plurality of clients connected to one or more servers, wherein said network document includes at least one displayable component, said method comprising the steps of:

identifying all displayable components within said network document;

serially evaluating said displayable components against a profile list of particular displayable components within said network document, in response to identifying all displayable components within said network document; and

automatically inserting synchronization points at predetermined locations within said network document, in response to serially evaluating said displayable components against said profile list, wherein each synchronization point is associated with a particular displayable component contained within said profile list, thereby permitting users reviewing copies of the same network document in varying display formats to refer to identical locations within said network document relative to said synchronization points, regardless of the type of display format utilized to display said network document at each of said plurality of clients.

2. The method of claim 1, wherein said step of identifying all displayable components within said network document further comprises the step of:

parsing said network document into displayable components.

3. The method of claim 1, further comprising the step of:

preserving existing synchronization points within said network document, in response to serially evaluating said displayable components against said profile list.

4. The method of claim 6, wherein said automatically inserting step further comprises the step of:

automatically inserting values between synchronization points at predetermined locations within said network document while preserving existing synchronization points, in response to serially evaluating said displayable components against said profile list, wherein each synchronization point is associated with a particular displayable component contained within said profile list, thereby permitting users reviewing copies of the same network document in varying display formats to refer to identical locations within said network document relative to said synchronization points, regardless of the type of display format utilized to display said network document at each of said plurality of clients.

5. A system for uniformly indexing a network document displayed within a computer display screen in a computer network having a plurality of clients connectable to one or more servers, wherein said network document is composed of displayable components, said system comprising:

means for identifying all displayable components within said network document;

means for serially evaluating said displayable components against a profile list of particular displayable components within said network document, in response to identifying all displayable components within said network document; and

means for automatically inserting synchronization points at predetermined locations within said network document, in response to serially evaluating said displayable components against said profile list, wherein each synchronization point is associated with a particular displayable component contained within said profile list, thereby permitting users reviewing copies of the same network document in varying display formats to refer to identical locations within said network document relative to said synchronization points, regardless of the type of display format utilized to display said network document at each of said plurality of clients.

6. The system of claim 5 wherein said means for identifying all displayable components within said network document further comprises:

means for parsing said network document into displayable components.

7. The system of claim 6 wherein said network document comprises a web document.

8. The system of claim 7 wherein said profile list of particular displayable components within said network document comprises a profile list of paragraphs and headers.

9. The system of claim 8 wherein said profile list of particular displayable components within said network document comprises a profile list of visible words.

10. The system of claim 9 wherein said display format utilized to display said network document at each of said plurality of clients further comprises:

a printable display format.

11. The system of claim 10 wherein said profile list of particular displayable components within said network document comprises a profile list that includes sentences.

12. The system of claim 11 wherein said profile list of particular displayable components within said network document comprises a profile list that includes section notation.

13. The system of claim 12 wherein said profile list of particular displayable components within said network document comprises a profile list that includes images.

14. The system of claim 13 further comprising:

means for preserving existing synchronization points within said network document, in response to serially evaluating said displayable components against said profile list.

15. The system of claim 14 wherein said means for automatically inserting synchronization points at predetermined locations within said network document, in response to serially evaluating said displayable components against said profile list, wherein each synchronization point is associated with a particular displayable component contained within said profile list, thereby permitting users reviewing copies of the same network document in varying display formats to refer to identical locations within said network document relative to said synchronization points, regardless of the type of display format utilized to display said network document at each of said plurality of clients, further comprises:

means for automatically inserting values between synchronization points at predetermined locations within said network document while preserving existing synchronization points, in response to serially evaluating said displayable components against said profile list, wherein each synchronization point is associated with a particular displayable component contained within said profile list, thereby permitting users reviewing copies of the same network document in varying display formats to refer to identical locations within said network document relative to said synchronization points, regardless of the type of display format utilized to display said network document at each of said plurality of clients.

16. A program product residing in a computer memory in a computer for uniformly indexing a network document displayed within a computer display screen in a computer network having a plurality of clients connectable to one or more servers, wherein said network document is composed of displayable components, said program product comprising:

instruction means residing in a computer for identifying all displayable components within said network document;

instruction means residing in a computer for serially evaluating said displayable components against a profile list of particular displayable components within said network document, in response to identifying all displayable components within said network document; and

instruction means residing in a computer for automatically inserting synchronization points at predetermined locations within said network document, in response to serially evaluating said displayable components against said profile list, wherein each synchronization point is associated with a particular displayable component contained within said profile list, thereby permitting users reviewing copies of the same network document in varying display formats to refer to identical locations within said network document relative to said synchronization points, regardless of the type of display format utilized to display said network document at each of said plurality of clients.

17. The program product of claim 16 wherein said instruction means residing in a computer for identifying all displayable components within said network document further comprises:

instruction means residing in a computer for parsing said network document into displayable components.

18. The program product of claim 16 further comprising:

instruction means residing in a computer for preserving existing synchronization points within said network document, in response to serially evaluating said displayable components against said profile list.

19. The program product of claim 18 wherein said instruction means residing in a computer for automatically inserting synchronization points at predetermined locations within said network document, in response to serially evaluating said displayable components against said profile list, wherein each synchronization point is associated with a particular displayable component contained within said profile list, thereby permitting users reviewing copies of the same network document in varying display formats to refer to identical locations within said network document relative to said synchronization points, regardless of the type of display format utilized to display said network document at each of said plurality of clients, further comprises:

instruction means residing in a computer for automatically inserting values between synchronization points at predetermined locations within said network document while preserving existing synchronization points, in response to serially evaluating said displayable components against said profile list, wherein each synchronization point is associated with a particular displayable component contained within said profile list, thereby permitting users reviewing copies of the same network document in varying display formats to refer to identical locations within said network document relative to said synchronization points, regardless of the type of display format utilized to display said network document at each of said plurality of clients.
 Description Submit all comments and votes
 


BACKGROUND OF THE INVENTION

1. Technical Field

The present invention relates in general to improved information processing systems. In particular, the present invention relates to computer network applications that permit information processing systems to process, transmit and display data. Still more particularly, the present invention relates to network browser applications. Still more particularly, the present invention relates to an improved method and system for indexing and displaying network documents.

2. Description of the Related Art

The development of computerized distributed information resources, such as the "Internet," allows users to link with servers and networks, and thus retrieve vast amounts of electronic information heretofore unavailable in an electronic medium. Such electronic information increasingly is displacing more conventional techniques of information transmission, such as newspapers, magazines, and even television. The term "Internet" is an abbreviation for "Internetwork," and refers commonly to a collection of computer networks that utilize the TCP/IP suite of protocols, well-known in the art of computer networking. TCP/IP is an acronym for "Transport Control Protocol/Interface Program," a software protocol developed by the Department of Defense for communication between computers.

Electronic information transferred between computer networks (e.g., the Internet) can be presented to a user in hypertext, a metaphor for presenting information in a manner in which text, images, sounds, and actions become linked together in a complex nonsequential web of associations that permit the user to "browse" through related topics, regardless of the presented order of the topics. These links are often established by both the author of a hypertext document and by the user, depending on the intent of the hypertext document. For example, traveling among hypertext links to the word "iron" in an article displayed within a graphical user interface in a computer system might lead the user to the periodic table of the chemical elements (i.e., linked by the word "iron"), or to a reference to the use of iron in weapons in Europe in the Dark Ages. The term "hypertext" is utilized to describe documents, as presented by a computer, that express the nonlinear structure of ideas, as opposed to the linear format of books, film, and speech.

Networked systems typically follow a client/server architecture. A "client" is a member of a class or group that utilizes the services of another class or group to which it is not related. In the context of a computer network such as the Internet, a client is a process (i.e., roughly a program or task) that requests a service provided by another program. The client process utilizes the requested service without having to "know" any working details about the other program or the service itself. In networked systems, a client is usually a computer that accesses shared network resources provided by another computer (i.e., a server).

A "server" is typically a remote computer system accessible over a communications medium such as the Internet. The server scans and searches for raw (e.g., unprocessed) information sources (e.g., newswire feeds or newsgroups). Based upon such requests by the user, the server presents filtered electronic information to the user as server responses to the client process. The client process may be active in a first computer system, and the server process may be active in a second computer system, and communicate with one another over a communications medium that allows multiple clients to take advantage of the information-gathering capabilities of the server.

Client and server communicate with one another utilizing the functionality provided by a hypertext transfer protocol (HTTP). The World Wide Web (WWW) or, simply, the "web," includes all servers adhering to this protocol, which are accessible to clients via a Universal Resource Locator (URL). Internet services can be accessed by specifying Universal Resource Locators that have two basic components: a protocol to be used and an object pathname. For example, the Universal Resource Locator address, "http://www.uspto.gov" (i.e., the "home page" for the U.S. Patent and Trademark Office), specifies a hypertext transfer protocol ("http") and a pathname of the server ("www.uspto.gov"). The server name is associated with a unique numeric value (TCP/IP address). Active within the client is a first process, known as a "browser," that establishes the connection with the server and presents information to the user. The server itself executes corresponding server software that presents information to the client in the form of HTTP responses. The HTTP responses correspond to "web pages" constructed from a Hypertext Markup Language (HTML), or other server-generated data. Such "web pages" are also referred to as web or network documents.

A "web page" (also referred to by some designers simply as a "page") is a data file written in a hyper-text language that may have text, graphic images, and even multimedia objects such as sound recordings or moving video clips associated with that data file. The web page can be displayed as a viewable object within a computer system. A viewable object can contain one or more components such as spreadsheets, text, hotlinks, pictures, sound, and video objects. A web page can be constructed by loading one or more separate files into an active directory or file structure that is then displayed as a viewable object within a graphical user interface.

When a client workstation sends a request to a server for a web page, the server first transmits (at least partially) the main hypertext file associated with the web page, and then loads, either sequentially or simultaneously, the other files associated with the web page. A given file may be transmitted as several separate pieces via TCP/IP protocol. The constructed web page is then displayed as a viewable object on the workstation monitor. A web page may be "larger" than the physical size of the monitor screen, and devices such as graphical user interface scroll bars can be utilized by the viewing software (i.e., the browser) to view different portions of the web page.

A problem associated with network documents, such as web pages or web documents, is the inability of a user to uniformly locate identical locations within multiple copies of the same documents. Reviewing large documents "published" or displayed on the "web" is difficult because the display formats are dependent upon the type of browser being utilized, the display fonts available, and the window sizing on the display screen itself. Printing the document itself is not an alternative solution, because web documents printed as hardcopy text depend on the printer, the browser and the formatting. Thus, is impossible to refer to content based on a web page number or line number associated with a particular network document. A common solution to such problems is to include numbered header and document sections. However, such numbering and sectioning is limited in functionality and extensibility because the sections can stretch over several screens or pages, thus making it difficult for a user to determine which specific section of the document the user is actually reading or interpreting. Based on the foregoing, it can be appreciated that a need exists for a method and system which would allow users to view the same copy of a network or web document in varying display formats and be assured that they are viewing the same position in the document. An automated method and system for implementing such a feature would also be desirable, given the complexity associated with constructing and display network documents.

SUMMARY OF THE INVENTION

It is therefore one object of the present invention to provide for an improved information processing system.

It is therefore another object of the present invention to provide an improved computer network application that permits information processing systems to process, transmit, and display data.

It is yet another object of the present invention to provide improved method and system for an improved network browser application.

It is still another object of the present invention to provide an improved method and system for indexing and displaying network documents.

The above and other objects are achieved as is now described. A method and system are disclosed for uniformly indexing a network document displayed within a computer display screen in a computer network having a group of clients connectable to one or more servers, wherein the network document is composed of displayable components. Initially, all displayable components within the network document are identified. Next, a profile list of particular displayable components within the network document is serially compiled, in response to identifying all displayable components within the network document. Finally, synchronization points are automatically inserted at predetermined locations within the network document, in response to the serially compiling of the profile list, wherein each synchronization point is associated with a particular displayable component contained within the profile list, thereby permitting users reviewing copies of the same network document in varying display formats to refer to identical locations within the network document relative to the synchronization points, regardless of the type of display format utilized to display the network document at each of the group of clients within the computer network. The network document may be composed of a World Wide Web document. The web document is thus parsed and all components belonging to the component list are serially marked. This is accomplished utilizing a special tag for processing and a follow-up tag for display. The result is a uniform and consistent set of synchronization points throughout the document.

BRIEF DESCRIPTION OF THE DRAWINGS

The novel features believed characteristic of this 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 a preferred embodiment when read in conjunction with the accompanying drawings, wherein:

FIG. 1 illustrates a pictorial representation of a computer system which may be utilized to implement a preferred embodiment of the present invention;

FIG. 2 depicts a representative hardware environment of the computer system illustrated in FIG. 1;

FIG. 3 illustrates a block diagram illustrative of a client/server architecture in accordance with a preferred embodiment of the present invention;

FIG. 4 depicts a detailed block diagram of a client/server architecture in accordance with a preferred embodiment of the present invention;

FIG. 5 is a diagram illustrative of a computer network which can be implemented in accordance with a preferred embodiment of the present invention; and

FIG. 6 depicts a high-level flow diagram that shows general steps utilized to carry out the method and system of the present invention, according to a preferred embodiment of the present invention;

FIG. 7 illustrates a high-level flow diagram that shows steps utilized to carry out process value element operations, in accordance with a preferred embodiment of the present invention;

FIG. 8 depicts a high-level flow diagram that shows steps utilized to carry out process word operations, in accordance with a preferred embodiment of the present invention;

FIG. 9 illustrates a high-level flow diagram that shows steps utilized to carry out position sensitive increment operations, in accordance with a preferred embodiment of the present invention;

FIG. 10 depicts a high-level flow diagram that shows steps utilized to carry out the generation and insertion of new synchronization points, in accordance with a preferred embodiment of the present invention;

FIG. 11 illustrates an example profile list which may be implemented in accordance with a preferred embodiment of the present invention;

FIG. 12 depicts example profile settings in accordance with a preferred embodiment of the present invention; and

FIG. 13 illustrates "type" and "count" in accordance with a preferred embodiment of the present invention.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENT

With reference now to the figures and in particular with reference to FIG. 1, there is depicted a pictorial representation of a computer system in accordance with a preferred embodiment of the present invention. A computer system 20 is depicted that includes a system unit 22, a video display terminal 24, a keyboard 26, and a mouse 28. Computer 20 can be implemented utilizing any suitable computer, such as an IBM Aptiva.TM. computer, a product of International Business Machines Corporation, located in Armonk, N.Y. "Aptiva" is a trademark of International Business Machines Corporation. However, those skilled in the art will appreciate that a preferred embodiment of the present invention can apply to any computer system, regardless of whether the computer system is a complicated multi-user computing apparatus or a single-user workstation.

Keyboard 26 is that part of computer system 20 that resembles a typewriter keyboard and which enables a user to control particular aspects of the computer. Because information flows in one direction, from keyboard 26 to system unit 22, keyboard 26 functions as an input-only device. Functionally, keyboard 26 represents half of a complete input/output device, the output half being video display terminal 24. Keyboard 26 includes a standard set of printable characters presented in a QWERTY pattern typical of most typewriters. In addition, keyboard 26 includes a calculator-like numeric keypad at one side. Some of these keys, such as the "control," "alt," and "shift" keys can be utilized to change the meaning of another key. Other special keys and combinations of keys can be utilized to control program operations or to move either text or cursor on the display screen of video display terminal 24.

In FIG. 1 and FIG. 2, like parts are identified by like numbers. Computer system 20 is thus a configuration that includes all functional components of a computer and its associated hardware. In general, a typical computer system includes a console or system unit such as system unit 22, with one or more disk drives, a monitor such as video display terminal 24, and a keyboard such as keyboard 26. Additional hardware, often referred to in the art as peripheral devices, can include devices such as printers, modems, and joysticks.

FIG. 2 depicts a representative hardware environment of the computer system illustrated in FIG. 1. Computer system 20 includes a Central Processing Unit ("CPU") 31, such as a conventional microprocessor, and a number of other units interconnected via system bus 32. CPU 31 includes a portion of computer system 20 that controls the operation of the entire computer system, including executing the arithmetical and logical functions contained in a particular computer program. Although not depicted in FIG. 2, CPUs such as CPU 31 typically include a control unit that organizes data and program storage in a computer memory and transfers the data and other information between the various parts of the computer system. Such CPUs also generally include an arithmetic unit that executes the arithmetical and logical operations, such as addition, comparison, multiplications and so forth. Such components and units of computer system 20 can be implemented in a system unit such as system unit 22 of FIG. 1.

Computer system 20 further includes random-access memory (RAM) 34, read only memory (ROM) 36, display adapter 37 for connecting system bus 32 to video display terminal 24, and I/O adapter 39 for connecting peripheral devices (e.g., disk and tape drives 33) to system bus 32. RAM 34 is a type of memory designed such that the location of data stored in it is independent of the content. Also, any location in RAM 34 can be accessed directly without having to work through from the beginning. ROM 36 is a type of memory that retains information permanently and in which the stored information cannot be altered by a program or normal operation of a computer.

Video display terminal 24 is the visual output of computer system 20. Video display terminal 24 can be a cathode-ray tube (CRT) based video display well-known in the art of computer hardware. However, with a portable or notebook-based computer, video display terminal 24 can be replaced with a liquid crystal display (LCD) based or gas plasma-based flat-panel display. Computer system 20 further includes user interface adapter 40 for connecting keyboard 26, mouse 28, speaker 46, microphone 48, and/or other user interface devices, such as a touch-screen device (not shown), to system bus 32. Communications adapter 49 connects computer system 20 to a computer network. Although computer system 20 is shown to contain only a single CPU and a single system bus, it should be understood that the present invention applies equally to computer systems that have multiple CPUs and to computer systems that have multiple buses that each perform different functions in different ways.

Computer system 20 also includes an interface that resides within a machinereadable media to direct the operation of computer system 20. Any suitable machinereadable media may retain the interface, such as RAM 34, ROM 36, a magnetic diskette, magnetic tape, or optical disk (the last three being located in disk and tape drives 33). Any suitable operating system and associated interface (e.g., Microsoft Windows) may direct CPU 31. For example, the AIX operating system and AlXwindows windowing system can direct CPU 31. The AIX operating system is IBM's implementation of the UNIX operating system. UNIX is a trademark of UNIX Systems Laboratories, Inc. Other technologies also can be utilized in conjunction with CPU 31, such as touch-screen technology or human voice control. Operating systems typically include computer software for controlling the allocation and usage of hardware resources such as memory, CPU time, disk space, and peripheral devices. The operating system is the foundation upon which applications, such as word-processing, spreadsheet, and web browser programs are built.

Those skilled in the art will appreciate that the hardware depicted in FIG. 2 may vary for specific applications. For example, other peripheral devices such as optical disk media, audio adapters, or chip programming devices, such as PAL or EPROM programming devices well-known in the art of computer hardware and the like, may be utilized in addition to or in place of the hardware already depicted. In addition, main memory 50 is connected to system bus 32, and includes a control program 51. Control program 51 resides within main memory 50, and contains instructions that, when executed on CPU 31, carries out the operations depicted in the logic flowchart of FIG. 7 and FIG. 8 described herein. The computer program product also can be referred to as a program product. Control program 51 contains instructions that when executed on CPU 31 can carry out logical operations such as those operations depicted in the logic flow charts of FIG. 7 and FIG. 8 described herein.

It is important to note that, while the present invention has been (and will continue to be) described in the context of a fully functional computer system, those skilled in the art will appreciate that the present invention is capable of being distributed as a program product 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 signal-bearing media include: recordable-type media, such as floppy disks, hard disk drives, and CD ROMs, and transmission-type media such as digital and analog communication links. Examples of transmission media include devices such as modems. Modems are communication devices that enable computers such as computer system 20 depicted in FIG. 1 and FIG. 2 to transmit information over standard telephone lines.

In the illustrations depicted in FIG. 3, FIG. 4, and FIG. 5, like parts are indicated by like reference numerals. FIG. 3 illustrates a block diagram illustrative of a client/server architecture in accordance with a preferred embodiment of the present invention. In FIG. 3, user requests 91 for news are sent by a client application program 92 to a server 88. Server 88 can be a remote computer system accessible over the Internet or other communication networks. Client application program 92 may be utilized with computer 20 of FIG. 1 and the implementation of computer 20 illustrated in FIG. 2. Server 88 performs scanning and searching of raw (e.g., unprocessed) information sources (e.g., newswire feeds or newsgroups) and, based upon these user requests, presents the filtered electronic information as server responses 93 to the client process. The client process may be active in a first computer system, and the server process may be active in a second computer system, communicating with one another over a communications medium, thus providing distributed functionality and allowing multiple clients to take advantage of the information-gathering capabilities of the server.

FIG. 4 illustrates a detailed block diagram of a client/server architecture in accordance with a preferred embodiment of the present invention. Although the client and server are processes that are operative within two computer systems, these processes being generated from a high-level programming language (e.g., PERL), which is interpreted and executed in a computer system at runtime (e.g., a workstation), it can be appreciated by one skilled in the art that they may be implemented in a variety of hardware devices, either programmed or dedicated.

Client 92 and server 88 communicate by utilizing the functionality provided by HTTP. Active within client 92 is a first process, browser 72, which establishes connections with server 88, and presents information to the user. Any number of commercially or publicly available browsers can be utilized in various implementations in accordance with the preferred embodiment of the present invention. For example, a browser such as Netscape.TM. can be utilized in accordance with a preferred embodiment of the present invention to provide the functionality specified under HTTP. "Netscape" is a trademark of Netscape, Inc.

Server 88 executes the corresponding server software, which presents information to the client in the form of HTTP responses 90. The HTTP responses 90 correspond with the web pages represented utilizing HTML, or other data generated by server 88. Server 88 provides HTML 94. Under certain browsers, a Common Gateway Interface (CGI) 96 is also provided, which allows the client program to direct server 88 to commence execution of a specified program contained within server 88. This may include a search engine that scans received information in the server for presentation to the user controlling the client. Utilizing this interface, and HTTP responses 90, the server may notify the client of the results of that execution upon completion. Common Gateway Interface (CGI) 96 is one form of a gateway, a device utilized to connect dissimilar networks (i.e., networks utilizing different communications protocols) so that electronic information can be passed from one network to the other. Gateways transfer electronic information, converting such information to a form compatible with the protocols utilized by the second network for transport and delivery.

In order to control the parameters of the execution of this server-resident process, the client may direct the filling out of certain "forms" from the browser. This is provided by the "fill-in-forms" functionality (i.e., forms 98), which is provided by some browsers. This functionality allows the user via a client application program to specify terms in which the server causes an application program to function (e.g., terms or keywords contained in the types of stories/articles which are of interest to the user). This func