|
Claims  |
|
|
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. |
|
|
|
|
Claims  |
|
|
Description  |
|
|
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 | | |