Data processing: database and file management or data structures – Database design – Data structure types
Reexamination Certificate
1997-04-08
2001-07-24
Homere, Jean R. (Department: 2177)
Data processing: database and file management or data structures
Database design
Data structure types
C707S793000, C707S793000, C707S793000, C707S793000, C709S203000
Reexamination Certificate
active
06266681
ABSTRACT:
TECHNICAL FIELD
The present invention relates to transparently modifying an existing document and, in particular, to injecting code into an HTML document that conditionally generates a user interface component.
BACKGROUND OF THE INVENTION
Today's computer networking environments, such as the Internet, offer mechanisms for delivering documents between heterogeneous computer systems. One such network, the World Wide WEB network, which comprises a subset of Internet sites, supports a standard protocol for requesting documents known as WEB pages and for receiving them. This protocol is known as the Hypertext Transfer Protocol, or “HTTP.” HTTP defines a high-level message passing protocol for sending and receiving packets of information between diverse applications. Details of HTTP can be found in various documents including T. Berners-Lee et al.,
Hypertext Transfer Protocol
—HTTP 1.0, Request for Comments (RFC) 1945, MIT/LCS, May, 1996, which is incorporated herein by reference. Each HTTP message follows a specific layout, which includes amongst other information a header, which contains information specific to the request or response. Further, each HTTP request message contains a universal resource identifier (a “URI”), which specifies to which network resource the request is to be applied. A URI is either a Uniform Resource Locator (“URL”) or Uniform Resource Name (“URN”), or any other formatted string that identifies a network resource. The URI contained in a request message, in effect, identifies the destination machine for a message. URLs, as an example of URIs, are discussed in detail in T. Berners-Lee, et al.,
Uniform Resource Locators
(URL), RFC 1738, CERN, Xerox PARC, Univ. of Minn., December, 1994, which is incorporated herein by reference.
FIG. 1
illustrates how a browser application enables users to navigate among nodes on the WEB network by requesting and receiving WEB pages. For the purposes of this application, a WEB page is any type of document that abides by the HTML format. That is, the document includes an “<HTML>” statement. Thus, a WEB page is also be referred to as an HTML document. The HTML format is a document mark-up language, defined by the Hypertext Markup Language (“HTML”) specification. HTML defines tags for specifying how to interpret the text and images stored in an HTML document. For example, there are HTML tags for defining paragraph formats and for emboldening and underlining text. In addition, the HTML format defines tags for adding images to documents and for formatting and aligning text with respect to images. HTML tags appear between angle brackets, for example, <HTML>. Further details of HTML are discussed in T. Berners-Lee and D. Connolly,
Hypertext Markup Language
-2.0, RFC 1866, MIT/W3C, November, 1995, which is incorporated herein by reference.
In
FIG. 1
, a WEB browser application
101
is shown executing on a client machine
102
, which communicates with a server machine
103
by sending and receiving HTTP packets (messages). Web browser
101
“navigates” to new locations on the network to browse (display) what is available at these locations. In particular, when WEB browser
101
“navigates” to a new location, it requests a new document from the new location (e.g., server machine
103
) by sending an HTTP-request message
104
using any well-known underlying communications wire protocol. HTTP-request message
104
follows the specific layout discussed above, which includes a header
105
and a URI field
106
, which specifies the network location to which to apply the request. When the server machine specified by URI
106
(e.g., server machine
103
) receives the HTTP-request message, it decomposes the message packet and constructs a return message packet to the source location that originated the message (e.g., client machine
102
) in the form of an HTTP-response message
107
. In addition to the standard features of an HTTP message, such as the header
108
, the HTTP-response message
107
contains the requested HTML document
109
. When the HTTP-response message
107
reaches the client machine
102
, the WEB browser application
101
extracts the HTML document
109
from the message, and parses and interprets (executes) the HTML code in the document in order to display the document on a display screen of the client machine
102
as specified by the HTML tags.
To provide additional security in a global network environment, some WEB browser applications incorporate the use of an intermediary machine between the client machine and other machines on the WEB. For example, several client machines may be networked internally to a proxy server machine, which acts as a “firewall” between the client machines and server machines on an external network.
FIG. 2
illustrates the use of a proxy server machine to send and receive HTTP documents. The WEB browser application
201
, which is shown executing on a client machine
202
, sends an HTTP-request message
205
to a server machine
203
. The server machine (e.g., server machine
203
) is specified by the URI field
206
contained in the HTTP-request message
205
. However, in contrast to
FIG. 1
, the HTTP-request message
205
is sent first to a proxy server machine
204
, which then forwards the HTTP-request message
205
as message
207
to the server machine
203
. Because the proxy server machine
204
contains a separate external network connection to server machine
203
, the client machine
202
is protected from ill-behaved applications, which may be executing on or accessible via server machine
203
. For example, the proxy server machine may be specially programmed to detect viruses that may be sent in an HTTP-response message. When the HTTP-request message
207
is received, server machine
203
sends an HTTP-response message
208
, which contains the requested HTML document
209
, to the originator of the message. This time, the originator of the message is the proxy server
204
. Thus, the HTTP-response message
208
is first sent to the proxy server machine
204
before the requested document is delivered to client machine
202
. The proxy server machine
204
, by having previously established a specific network connection for the original HTTP-request message
205
received from the client machine
202
, knows that the received HTTP-response message
208
corresponds to the HTTP-request message
205
and thus forwards the HTTP-response message
208
as HTTP message
210
to the client machine
202
. The WEB browser application
201
is then responsible for decomposing the HTTP-response message
210
to extract the HTML document and for executing the HTML code in the received document to properly display the document on client machine
202
.
In network environments such as those shown in
FIGS. 1 and 2
, WEB browser applications, such as WEB browser
101
, have attempted to make the navigational process easier for users by adding various “links” to places of interest. These links can be used to navigate to a pre-specified location by simple maneuvers, such as clicking on a graphical button on a screen. A link in this context refers to a URI, which is used by the browser application to locate another document. For example, a WEB browser may provide graphical buttons, which are placed below the standard menus in toolbars. These buttons provide links that enable a user to easily navigate to specific locations defined by the developer of the WEB browser. In order to ensure that such links are present in every WEB page displayed, the browser application must include special code to display these graphical button user interface components. Thus, when a user invokes a different WEB browser application, the user may not have access to links to which the user has become accustomed.
SUMMARY OF THE INVENTION
The present invention provides a method and system for injecting code into an existing HTML document that enables the conditional generation and incorporation of injectable components by a browser application. The injection mechanism provided by the present
Homere Jean R.
Network Commerce Inc.
Perkins Coie LLP
Robinson Greta L.
LandOfFree
Method and system for inserting code to conditionally... does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Method and system for inserting code to conditionally..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method and system for inserting code to conditionally... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-2444709