WO2001046873A1 - Method and apparatus employing a proxy server for modifying an html document supplied by a web server to a web client - Google Patents

Method and apparatus employing a proxy server for modifying an html document supplied by a web server to a web client Download PDF

Info

Publication number
WO2001046873A1
WO2001046873A1 PCT/US2000/006491 US0006491W WO0146873A1 WO 2001046873 A1 WO2001046873 A1 WO 2001046873A1 US 0006491 W US0006491 W US 0006491W WO 0146873 A1 WO0146873 A1 WO 0146873A1
Authority
WO
WIPO (PCT)
Prior art keywords
server
web
web document
computer
user
Prior art date
Application number
PCT/US2000/006491
Other languages
French (fr)
Inventor
Mark Goldston
Michael Collard
Shane Blaser
Original Assignee
Netzero, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority to AU37412/00A priority Critical patent/AU3741200A/en
Application filed by Netzero, Inc. filed Critical Netzero, Inc.
Publication of WO2001046873A1 publication Critical patent/WO2001046873A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9577Optimising the visualization of content, e.g. distillation of HTML documents
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/561Adding application-functional data or data for application control, e.g. adding metadata
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/563Data redirection of data network streams

Definitions

  • the present invention relates to the provision and display of documents in a client- server network and, more particularly, relates to a device and method of obtaining and modifying World Wide Web documents and administering services in connection with World Wide Web documents.
  • an entity provides such services by establishing a web site that a user accesses over the Internet.
  • the web site contains information related to the types of services provided and typically allows the user to electronically sign up for such services.
  • the user commonly signs-up for the service by filling out an electronic sign-up form.
  • the form typically comprises a web document that has several empty fields into which the user enters personal information.
  • a web browser is a software device that allows a user of a client computer to download World Wide Web documents and view the documents on the client computer.
  • the browser interacts with a web server across a communication channel.
  • the browser requests that the web server send specific web documents which are typically in the form of Hypertext Markup Language (HTML) code.
  • HTML Hypertext Markup Language
  • the browser causes the document to be displayed on a computer output device.
  • the browser typically allows the user to download the web documents by either clicking on a hyperlink or by entering the page's Web address or uniform resource locator (URL) into an address bar.
  • URL uniform resource locator
  • the URL is a reference (or address) to a resource available on a TCP/IP network such as the Internet.
  • a URL is composed of a character string, and may have a number of parts. These parts include a top level domain name, second level domain name, directory name, and file name. URLs may identify a file located on a web server. URLs may also point to other resources on the network such as database queries and command output. The determination and use of URLs is well known in the art and is not discussed further herein.
  • the web browser When obtaining a web document, the web browser first establishes a TCP/IP connection with the web server by sending a connection request message to the web server. After a connection is established, the browser sends a request message to the server that contains the URL associated with the web document. The request message is sent according to the Hyper Text Transport Protocol (HTTP).
  • HTTP Hyper Text Transport Protocol
  • the web server then responds to the browser request with an HTTP response message.
  • the response message typically includes a copy of the web document, which is typically in the form of a Hyper Text Markup Language (HTML) file.
  • HTML file includes tags that define the structure or format of the document. Each HTML tag serves a special purpose that helps identify the document's structure, such as holding and italic, fonts and font sizes, as well as tags that correspond to graphics contained on the page.
  • the browser interprets the tags and then causes the web document to be rendered on the client computer's monitor. When the browser encounters a tag that corresponds to a graphic, the browser requests the server to send a copy of the graphic file. In short, the browser simply takes whatever HTML file that was supplied by the web server and then examines and renders the files contents.
  • Online services may serve the general public or may serve a limited class of individuals.
  • Some public OSPs utilize proprietary networks; America Online and @Home are examples.
  • Other public OSPs use the public networks, and most Internet Service Providers (ISPs) are an example.
  • OSPs often provide Internet access. Internet access is the primary service provided by some OSPs, most notably ISPs.
  • Some Internet Service Providers provide their user's with special access to one or more web pages that acts as the user's gateway to the Internet. From the web page, the user can often access special promotions that are supplied by sponsors associated with the ISP. For example, the web page may contain clubs that the user may join as a special privilege of being an ISP member. The user uses the web page as a launching site to access other web sites or to perform web searches.
  • the ISP may desire to provide unique formats to web pages that the user accesses in order to enhance the user's Internet experience.
  • the ISP may also desire to provide unique browser capabilities for its users. For example, it would be highly desirable for the browser to be able to translate the text of web documents into a language specified by the user.
  • conventional browsers simply take whatever HTML documents that are supplied by a web server and render the documents on the local device.
  • the ISP may lobby browser vendors, such as Microsoft and Netscape, to provide enhanced features in accordance with the ISP's needs.
  • the ISP is free to design its own browser and provide the browser with specific features according to its own needs.
  • ISPs are not in the business of designing full-fledged browsers and, therefore, have neither the desire nor the wherewithal to provide the user with a browser having all the features of a Netscape Navigator or a Microsoft Internet Explorer.
  • the ISP is therefore left with relying on the browsers supplied by conventional browser vendors to provide the eatures required by the ISP.
  • an Internet web server that is configured to receive requests from a client computer to provide the client computer with a web document associated with a remote web site.
  • the web server includes a software program that allows the web server to perform the functions that are typically associated with a web browser.
  • the software program is configured to establish a communication channel with the remote web site and to download and interpret web documents, preferably in the form of HTTP documents.
  • the software program is further configured to dynamically modify the web documents and issue instructions to the client computer to display the modified version of the web document.
  • the software program comprises a servlet object that is written in the JAVA programming language.
  • a membership administrator such as a web server preferably administers the program.
  • the membership administrator preferably obtains data related to the user when the user signs up for the program. Additionally, the membership administrator also leams information about the user by monitoring the user's interaction with the Internet. The data is used to provide the user with special membership services without requiring the user to re-enter the data every time the user signs up for a service.
  • the services are preferably provided in affiliation with one or more electronic service providers that each provide some sort of service for members of the club.
  • the services could vary widely but are preferably configured to be provided electronically over the Internet.
  • the services could relate to the provision of stock quotes or the provision of financial services including electronic loan approval and/or financial account management, retail services, government entity services, or any other service that may be provided over an electronic medium.
  • a method executed by a server computer under the control of a program stored in a memory of the server computer, the server computer being a portion of a client-server network.
  • the method comprises the server computer receiving a request from a client computer of the client-server network to provide the client computer with a web document from a remote web server; the server computer invoking a servlet object; the servlet object establishing a communication channel between the server computer and the remote web server; the server computer forwarding the request to the remote web server; the server computer receiving the web document from the remote web server; the servlet object examining and interpreting the contents web document; the servlet object generating a modified version of the web document; and the servlet object instructing the client computer to display the modified version of the web document.
  • Figure 1 is a first block diagram of a network data distribution system in accordance with the invention.
  • Figure 2 is a schematic illustration of a client device and a server device arranged in a client-server network.
  • Figure 3 is a schematic illustration of the server device.
  • FIG. 4 is a flowchart of a method of implementing a browser proxy servlet in accordance with one aspect of the invention.
  • Figure 5 shows an exemplary browser window that includes a rendition of a web document.
  • Figure 6 is a exemplary embodiment of an online service provider server comprised of plural server devices.
  • Figure 7 is a flow chart that describes a method of administering an online club membership program.
  • Figure 1 includes a client device 100, a data access network 120, an OSP server 130 and a web server device 150 that are arranged in a client-server relationship.
  • the client device 100, the data access network 120 and the OSP server 130 comprise the network data distribution system.
  • the client device 100 is provided online service to the network data distribution system under control of the OSP server 130.
  • An online service provider controls the OSP server 130.
  • the client device 100 preferably comprises a client computer that is configured to access the OSP server 130 via the data access network 120.
  • the client computer may be, for example, a PC running a Microsoft Windows operating system.
  • the client device 100 preferably includes an output device, such as display 101, and an input device, such as keyboard 102 and / or pointing device 103 (e.g., mouse, track ball, light pen, or data glove).
  • the client device 100 may also be, for example, an Internet appliance, network computer (NC), or an appropriately Internet-enabled device such as a portable digital assistant (PDA), mobile phone, etc.
  • NC network computer
  • PDA portable digital assistant
  • the particular type of device of the client device 100 is not considered to be important so long as the client device 100 can provide some measure of individual user interactivity with an online service.
  • the data access network 120 provides lower layer network support for the client device 100 to interact with online service, including the OSP server 130 and the web server device 150.
  • the data access network 120 preferably comprises a common or private bidirectional telecommunications network (e.g., a public switched telephone network (PSTN), a cable-based telecommunication network, a LAN, a WAN, a wireless network), coupled with or overlaid by a TCP/IP network (e.g., the Internet or an intranet).
  • PSTN public switched telephone network
  • TCP/IP network e.g., the Internet or an intranet
  • the web server device 150 may be of the type known in the art and has the ability to serve web pages to the client device 100, as requested in the manner known in the art. It should be appreciated that the web server device 150 is representative of any source of web pages available to the client device 100. Thus, for example, the web server device 150 could be accessible from the Internet, or it could be a part of an intranet and represents any number of web servers.
  • the OSP server 130 preferably is a computer system, such as a server computer. Alternatively, the OSP server 130 may be considered to represent a number of physical devices that as a group provide the indicated network services.
  • the OSP server 130 preferably acts as a gatekeeper to the online services. Only after the OSP server has authorized access can the client device 100 access the web server device 150 and any other resources of the online service.
  • FIG. 2 schematically illustrates one embodiment of the client device 100 and the web server device 150.
  • the client device 100 includes a central processing unit (CPU) 210 that is coupled to a memory 220.
  • the memory 220 stores one or more application programs, including a browser application 225.
  • the browser application 225 is software that provides interactive utilization of hypertext objects located on a network, such as web pages on the Internet.
  • "browser application” also includes most email clients and ftp clients.
  • the memory 220 also stores a client application 230.
  • the client application 230 is a program operative on the client device 100, and preferably an independent application program or a DLL.
  • the client application 230 preferably retrieves certain network data, displays certain network data, transmits geographic location data, transmits interactive user data, transmits network usage data and transmits other information related to a user of the online service.
  • the client application 230 preferably also sets up and provides access to the online service.
  • the client device 100 also includes a network interface device 235 that is used to establish a communication channel 240 between the client device 100, the web server device 150, and the OSP server 130.
  • the communication channel may be any wire or wireless communication channel.
  • the web server device 150 includes a network interface device 245, a CPU 250 and a memory 255.
  • the memory 255 stores one or more computer programs that implement the processing associated with the description herein.
  • the programs include a web server program 260.
  • the web server program 260 is configured to serve web documents to client devices.
  • the web server program 260 may be standard web server software that is modified to include the functionality described herein.
  • the memory 255 further includes one or more servlets 265.
  • Each of the servlets 265 comprises a software module that runs in accordance with the web server program 260 and extends the functionality of the web server program 260.
  • the web server program 260 interacts with the servlets 265 through at least one application program interface (API), as shown in Figure 3.
  • API application program interface
  • FIG. 3 schematically illustrates the web server device 150.
  • the memory 255 of the web server device 150 includes a web server program 260 and one or more servlets 265.
  • the web server program 260 interacts with the one or more servlets 265 through corresponding application program interfaces (APIs).
  • Each servlet preferably comprises a software object that is invoked by the web server program 260 and used to dynamically generate information or documents, such as a modified HTML document.
  • the servlets 265 accept one or more requests from the web server program 260 and then return data to the web server program 260.
  • the servlets 265 are preferably loaded into the memory 250 at the start-up of the web server device 150.
  • the servlets 265 then effectively operate in a continual loop while waiting to be invoked.
  • the web server program 260 invokes any of the servlets 265, there is no computational expense associated therewith because the servlets are already in a running mode.
  • the servlets 265 may be loaded upon the occurrence of predetermined conditions or by invocation of the client device 100.
  • the web servlets are written in the JAVA programming language.
  • one of the servlets 265 comprises a browser proxy servlet 265 a that is configured to function as a simple web browser.
  • the browser proxy servlet 265a is configured to cause the web server device 150 to establish a communication channel with a remote web server and thereafter request that the remote web server provide a web document stored on the remote web server.
  • a "web document” comprises a document that is accessed and displayed on the Internet and which includes information in the form of text, graphics, audio, and hyperlinks to other web documents.
  • a web document is also referred to as a web page.
  • web documents are written in HTML.
  • a web document is typically accessed by specifying a URL that is associated with the web document.
  • the browser proxy servlet 265a is also configured to interpret the contents of a web document and thereby determine the format of the web document when displayed in a browser window. For example, the browser proxy servlet 265a is configured to parse HTML documents, determine the meaning of HTML tags within the document, and thereby determine the attributes that the document contains, such as the content and format of text and graphics that are displayed in accordance with the HTML instructions. Additionally, the browser proxy servlet 265a is configured to interpret cookies that are associated with a web document. The browser proxy servlet 265a is preferably also configured to cause the web server device 150 to perform Internet search functions, such as by invoking an Internet search engine.
  • the browser proxy servlet 265 a is preferably configured to perform at least some of the functions associated with full-fledged web browsers.
  • the browser proxy servlet 265a is configured to track and record web documents that have already been downloaded by the client device 100.
  • the browser proxy servlet 265a is further configured to identify and download audio and visual files associated with the web document and to store the files in a location local to the web server device 150.
  • the web server program 260 When the web server program 260 invokes the browser proxy servlet 265 a, the web server program 260 provides the browser proxy servlet 265 a with a URL associated with a web document and also provides any cookies associated with the web document.
  • the browser proxy servlet 265a tiien causes the web server device 150 to obtain the web document by first establishing a communication channel with the web server that is associated with the URL and then downloading a copy of the web document. Once the web document is obtained, the browser proxy servlet 265a then dynamically modifies the web document and forwards the web document to the client device 100 for display by the browser application 225, as described in more detail below.
  • the web server device 150 is thus configured to serve web documents to the client device 100. Additionally, the browser proxy servlet 265a allows the web server device 150 to browse the World Wide Web by downloading and interpreting web documents.
  • Figure 4 is a flow chart that describes a method of accessing web documents on the World Wide Web using the browser proxy servlet 265a.
  • the method begins when the web server device 150 receives a request from the client device 100 to provide a web document for display on the client device 100 (step 410).
  • the request is typically in the form of an HTTP request that a user generates using the browser application 225 on the client device 100.
  • Figure 5 shows one embodiment of a Microsoft Internet Explorer browser window 505 having an address bar 510.
  • An exemplary rendition of a web document 512 is shown displayed within the browser window 505.
  • the web document 512 includes one or more hypertext links 520.
  • the user can generate an HTTP request for a web document by entering a URL associated with the web document into the address bar 510. Alternately, the user can use the keyboard 102 and / or pointing device 103 ( Figure 1) to click on one of the hypertext links 520. This causes the browser application 225 to generate an HTTP request to provide the web document associated with the
  • the client application 230 on the client device 100 causes the browser application 225 to route all web document requests from the client device 100 to the web server device 150.
  • the web server device 150 thereafter handles all HTTP requests from the client device 100.
  • the requests are routed to the web server device 150 only after the user has accessed a web document associated with the Internet service provider and entered an authorization code.
  • Figure 5 shows a web document associated with an Internet service provider.
  • the web document includes fields 525 for entry of a username and password. If the correct authorization code is not entered, the browser application 225 forwards all requests for web documents directly to the web site specified by the user without going through the web server device 150.
  • the web server software 160 invokes the browser proxy servlet 265a (step 420).
  • the web server software 160 preferably establishes a request thread with the browser proxy servlet 265a that includes the parameters of the HTTP request from the client device 100, including the URL of the web document requested by the client device 100.
  • the request thread preferably also includes any cookies associated with the web document.
  • the browser proxy servlet 265a then translates the cookies and determines the location of the web document.
  • the browser proxy servlet 265a next causes the web server device 150 to establish a communication channel with the device on which the requested web document is stored (step 430).
  • a device typically comprises a remote web server device that is configured to serve web documents.
  • the communication channel is typically established over the Internet.
  • the browser proxy servlet 265a issues a request for the remote web server to provide the web document (step 440).
  • the request preferably comprises an HTTP request that is substantially identical to the request issued by the client device 100.
  • the browser proxy servlet 265 requests that the web document be sent to the web server device 150 rather than to the client device 100.
  • the web server device 150 receives a copy of the web document from the remote web server.
  • the web document is typically in the form of an HTML document that includes instructions associated with display attributes for the web document, such as fonts, font sizes, graphics, audio.
  • the web document also includes instructions associated with the text that is displayed in association with the web document.
  • the text to be displayed in association with the web document is referred to herein as the "display text.”
  • the display text may be in one or more human languages, such as English, Spanish, Japanese, etc. The particular language is referred to herein as the "native language" of the display text.
  • the web server device 150 invokes the browser proxy servlet 265a to parse and interpret the web document (step 460).
  • the browser proxy servlet 265 a examines the contents of the web document and identifies tags that are associated with the attributes of the document, as well as any data that is displayed in connection with the document. The browser proxy servlet 265 a also identifies any graphic and audio files that are associated with the web document.
  • the browser proxy servlet 265 a next determines whether to modify the contents of the web document (step 470).
  • the browser proxy servlet 265a preferably modifies certain web document for unique display on the browser window 505 of the client device 100.
  • the browser proxy servlet 265a determines the native language of the display text associated with the web document.
  • the browser proxy servlet 265a then translates the native language into a second language that was previously specified by the user of the local device.
  • the browser proxy servlet 265a preferably uses well-known algorithms and/or computer software to identify and translate the display text from the native language to the second language.
  • the browser proxy servlet 265a preferably translates the display text of all web documents requested by the user into the English language prior to forwarding the web document to the client device 100.
  • the browser proxy servlet 265a translates the web documents so that the user and the browser application 225 on the client device 100 are blind to the process.
  • the browser application 225 simply displays whatever web document that is supplied by the web browser proxy 265a.
  • the browser proxy servlet 265 a determines whether the web document contains a form with empty fields that are to be filled in with data associated with the user.
  • the form may contain fields for entry of the user's name, address, credit card number, phone number, etc. If so, the browser proxy servlet 265a preferably modifies the web document by automatically filling in the empty fields with the appropriate user data.
  • the user data is preferably accessed from data stores that are assembled in accordance with the methods described in the related patent applications described above.
  • the browser proxy servlet 265 a preferably utilizes a data mapping dictionary to determine which user data should be inserted into which of the empty fields of the web document.
  • the form-filling capabilities of the browser proxy servlet 265a facilitate the provision of unique services to members of the OSP, as described more fully below.
  • the browser proxy servlet 265a is also configured to modify the web document in other manners other than those described above. For example, the browser proxy servlet 265a may determine that the web document is associated with a particular sponsor of the user's ISP. If so, the browser proxy servlet 265a modifies the web document to incorporate data that is unique to the ISP.
  • the browser proxy servlet 265a modifies the web document
  • the browser proxy servlet 265a causes the web server device 150 to instruct the client device 100 to display the modified version of the web document in the browser window 505 (step 480). This may be accomplished for example, by the browser proxy servlet 265a storing the modified web document in a storage location and sending instructions for the browser application to access modified URLs that point to the storage location.
  • the browser proxy servlet 265a can send the modified web document to the client device 100 for display by the browser application 225.
  • the browser application 225 displays the web document in the browser window 505. The process then ends.
  • the web server device 150 is configured to fill empty data fields in web documents with data associated with the user.
  • the form-filling capabilities of the web server device 150 facilitate the provision of services to members of the OSP, such as by providing the user with pre-filled applications for membership for additional services.
  • the form-filling capabilities are provided in connection with a club membership program that is administered by a club administrator.
  • the club administrator may be any entity, including an OSP, an ISP, a web portal entity or any other entity configured to administer services over the Internet.
  • the user is eligible for special services in connection with and in addition to the provision of online services.
  • the services are preferably provided in affiliation with one or more electronic service providers that each provide some sort of service for members of the club.
  • the services could vary widely but are preferably configured to be provided electronically over the data access network.
  • the services could relate to the provision of stock quotes or the provision of financial services including electronic loan approval and/or financial account management.
  • the club administrator provides a user with membership in the club program in exchange for the user providing some sort of consideration.
  • the consideration need not necessarily be monetary consideration. Rather, the user may simply provide the administrator with information regarding user attributes in order to obtain the membership in the club.
  • FIG. 6 shows a representative embodiment of a club administrator server 605 that is configured to administer an online club membership program.
  • the club administrator server 605 comprises a system of several devices that collectively administer the club membership program.
  • the club administrator server 605 includes a membership server 610, a services administration server 620, and a sponsor server 630.
  • the club administrator server 605 further comprises a data store 640 communicatively coupled to each of the individual servers 610, 620, and 630.
  • the servers 610, 620, and 630 are each communicatively coupled to one another and each preferably include a central processing unit and a memory. Additionally, the servers 610, 620, and 630 are preferably configured to serve and download web documents in accordance with the description above.
  • the embodiment of the club administrator server 605 described herein is a representative embodiment. It will be appreciated that the club administrator server 605 may comprise a single server device and can also include more or less server devices than are shown in the embodiment of Figure 6.
  • the membership server 610 is preferably configured to administer functions in association with the signing-up of members in the club membership program.
  • the membership server 610 preferably serves one or more web documents that a user can access from a client device 100.
  • the web documents preferably allow a user to sign-up for membership in the club program over the data access network 120.
  • the membership server 610 Upon sign-up of a user, the membership server 610 preferably obtains personal data about the member and stores the information in the data store 640.
  • Personal data comprises any type of information descriptive of the user, including the user's name, age, home and work address, home and work phone numbers, and social security number.
  • the membership server 610 can also obtain additional data regarding the user by tracking the user's interaction with the data access network. The additional data is preferably obtained in connection with the types of web documents that the user accesses, as described in the related applications referenced above.
  • the membership server 610 preferably also obtains and manages club preference data from the user.
  • the preference data relates to the user's preferences regarding the club administrator's management of the user data.
  • the user provides or denies permission for the club administrator to share the data with authorized service providers that are associated with the club.
  • the permission may be granted on one or more graduating levels.
  • the user may authorize the club administrator to only provide name and address information but not to provide any financial information.
  • the user may authorize the club administrator to continually provide updated information to service providers that already are in possession of the information about the user, such as if the user has previously transacted with the service provider. This would allow the user to utilize the club membership as an online manager of personal information so that when the club administrator obtains revised data regarding the user, the revised data is automatically forwarded to authorized online service providers.
  • the services administration server 620 is configured to monitor and administer the services that are provided to the user in association with the club membership.
  • the service administration server 620 preferably updates web documents to reflect changes to promotions offered by the service providers.
  • the service administration server 620 preferably also monitors the user's interaction with the data access network in accordance with the methods described in the related patent applications referenced above. This allows the club administrator to obtain additional data regarding the user and to update the data in the data store 640.
  • the service provider server 630 is preferably configured to serve web documents that are associated with each of the service providers.
  • each service provider affiliated with the club membership program has one or more web documents that describe the type of services that are offered.
  • the user preferably accesses the web documents by clicking on hyperlinks that are displayed on a home web document for the club.
  • the service provider server 630 may be replaced by or supplemented with one or more remote servers that are managed independently by the service providers. In such a case, the club administrator server 605 downloads the service provider's web document over the data access network 120.
  • a service provider comprises any entity that offers information or services to a member of the club membership program.
  • Service providers may be any organization, such as online clubs, special interest groups, political groups, voter registration groups, or government organizations, such as the department of motor vehicles.
  • Service providers may also comprise retailers, insurance providers, legal service providers, and medical service providers.
  • the services preferably include the provision of financial information and services, such as stock quotes, stock purchases, credit cards and loans.
  • the services may also include the provision of credit card applications, insurance, government services, and information services for clubs and organizations. Any type of service that may be offered over an electronic medium may be provided in accordance with the membership program.
  • FIG. 7 shows a flow chart that describes a method of administering online club membership services.
  • the method begins when the user signs up for membership in the club membership program (step 710).
  • the user preferably signs up over the data access network 120, such as by using the browser application 225 to download and view a web document that is associated with membership signups.
  • the user may sign up in the club membership program by using a telephone or by providing the club administrator with e-mail or snail mail.
  • the club administrator may offer membership in the club membership program either in conjunction with membership in an OSP or as an additional feature that is available to OSP members.
  • membership in the club membership program is provided independent of membership in an OSP.
  • the membership server 610 preferably obtains information about the user when the user signs up for membership in the club program (step 720). In one embodiment, the user initially manually provides the information upon signing up for membership in the club program. In another embodiment, the membership server 610 obtains the personal information from an existing database owned or accessible to the membership server 610 or from a database managed by a third party. Thereafter, the membership server 610 may obtain additional information about the user by periodically requesting updates from the user and by monitoring the user's interaction with the data network 120, particularly with respect to the content of web documents that the user accesses. The membership server 610 preferably stores the information regarding the user in the data store 640.
  • the services administrator server 620 preferably offers one or more services to the user as a privilege of the membership (step 730).
  • the services are preferably offered in association with the service providers that are affiliated with the club administrator.
  • the types of services preferably relate to services that may be offered over an electronic medium, such as in conjunction with a web document.
  • the services administrator server 620 may offer the user the ability to track stock quotes using a service vendor that provides stock market services.
  • the services may be offered either for monetary payment or for free.
  • the services administrator server 620 offers the services in connection with a web document that is displayed in the browser window 505.
  • the browser window includes one or more hyperlinks 520, some of which may be associated with a service.
  • the hyperlink preferably includes a label that describes the type of services available to the user.
  • the user preferably clicks on the hyperlink and the service administrator server 620 thereafter provides a web document that provides additional information regarding the terms for participating in the service.
  • at least one of the web documents is a form having one or more data fields for entry of us;r-related information (step 740).
  • the services administrator sever 620 pre-fills the data entry fields with the appropriate user-related data from the data store 640 according to the method described above with respect to Figure 4.
  • the user is therefore provided with a service signup form that is pre-filled with user information so that the user is not required to manually enter the information. This greatly facilitates the user signing up for the service, which increases the likelihood that the user will indeed sign up.
  • the user examines the form and may revise the information contained in the form. For example, the user may enter a new address or telephone number.
  • the user accepts the service related to the form (step 750).
  • the web document includes a one-click hypertext link that the user selects to affirm sign up with the service. This makes it as easy as possible for the user to sign up.
  • the user preferably also provides one or more levels of authorization that allow the club administrator to forward the user information to the service providers.
  • the services administrator server 620 preferably also examines the contents of the form to determine whether the user has revised the user information. If so, the services administrator server 620 preferably updates the user's personal information in the data store 640. Additionally, the server 620 preferably sends a notice to the user asking the user whether the updated information should be sent to other service providers. Alternately, the user may authorize that the server 620 to automatically update the service providers when the user enters new information into a form.
  • the local device 100 transmits a copy of the filled-in form to the club administrator server 605.
  • the club administrator server 605 then provides the service provider with the user-related information (step 760). This is preferably accomplished by forwarding a copy of the web document to a web server device associated with the service provider, such as the service provider server 630.
  • the membership server 610 updates the user-related information in the data store 640.
  • the membership server 610 preferably updates the information on a periodic basis.
  • the membership server 610 also periodically updates the enrollment status of the user for all services for which the user has signed up. For example, if the membership server 610 server obtains new address information regarding the user, the new information is electronically forwarded to the service provider so that the service provider's records may be updated.
  • the membership server 610 preferably automatically notifies the user of and/or automatically signs up the user for upgrades in the services provided by the service provider (step 780).
  • the club administrator server 605 automatically upgrades the user's membership from program blue to program red, assuming that the user has authorized such automatic upgrades.
  • the club administrator server 605 is also configured to forward the user information in the data store 640 to one or more remote data stores as a group package. This will allow the user-base of the club membership program to be bulk transferred to other electronic membership programs without having to transfer the user information on an individual basis.
  • the forwarding of user information is preferably governed by a set of preferences specified by the user.
  • Each user preferably notifies the club administrator whether the user information may be automatically transferred to service providers or to third parties.
  • Each user preferably also provides or denies authorization for the club administrator to allow service providers to send updates or additional information to the user.
  • the services administrator server 620 periodically reviews the user information and compares it to a list of services offered by service providers. The services administrator server 620 then automatically sends notices to the user of services for which the user is eligible or for which the user seems to be interested. If the user has provided authorization, then the services administrator server 620 may automatically enroll the user in such programs.
  • the services administrator server 620 could also be configured to notify the user of important expiration dates such as the pending expiration of a license. The user could then use the client device 100 to instruct the services administrator server 620 to forward updated user information to the licensing entity with instructions to renew the license.
  • the club administrator server 605 is thus configured to administer and provide electronic services for the user.
  • the club membership program is preferably used to provide the user with a one-stop ability to manage electronic information and services.

Abstract

Disclosed is an Internet web server that is configured to receive requests from a client computer to provide the client computer with a web document associated with a remote web site. The web server includes a software program that allows the web server to perform the functions that are typically associated with a web browser. The software program is configured to establish a communication channel with the remote web server and to download and interpret web documents, preferably in the form of HTTP documents. The software program is further configured to dynamically modify the web documents and issue instructions to the client computer to display the modified version of the web document. In one embodiment, the software program comprises a servlet object that is written in the JAVA programming language.

Description

METHOD AND APPARATUS EMPLOYING A PROXY SERVER FOR MODIFYING AN HTML DOCUMENT SUPPLIED BY A WEB SERVER TO A WEB CLIENT
NOTICE OF COPYRIGHTS AND TRADE DRESS
A portion of the disclosure of this patent document contains material, which is subject to copyright protection. This patent document may show and/or describe matter, which is or may become trade dress of the owner. The copyright and trade dress owner has no objection to the facsimile reproduction by any one of the patent disclosure, as it appears in the Patent and Trademark Office patent files or records, but otherwise reserves all copyright and trade dress rights whatsoever.
RELATED APPLICATION INFORMATION
This application is related to Application No. 09/265,512 filed March 9, 1999 entitled "Network Data Distribution Based Upon User-Specific Qualities," which is incorporated herein by reference, and which is a continuation-in-part of Application No. 60/077,331 filed March 9, 1998 entitled "Network Data Distribution Based Upon Geographic Location, Usage Patterns, Interactive Data, Profile Data, Demographic Data and Scheduling Information."
This application is also related to the following applications, each of which is incorporated herein by reference: (1) Application No. 09/324,747, entitled "Monitoring of Individual Internet Usage," filed June 3, 1999; (2) Application No. 09/349,325, entitled "System and Device for Monitoring Individual Internet Usage," filed July 8, 1999; (3) Application No. 09/364,544, entitled "Device for Displaying Advertisements to a User of an Online Service," filed July 29, 1999; (4) Application No. 09/393,391, entitled "Internet Server with Dynamic Ad Targeting Capabilities," filed September 10, 1999. BACKGROUND OF THE INVENTION
1. Field Of the Invention
The present invention relates to the provision and display of documents in a client- server network and, more particularly, relates to a device and method of obtaining and modifying World Wide Web documents and administering services in connection with World Wide Web documents.
2. Description Of Related Art
With the explosive growth in the Internet, business entities are struggling to provide increased services for users of the World Wide Web. Typically, an entity provides such services by establishing a web site that a user accesses over the Internet. The web site contains information related to the types of services provided and typically allows the user to electronically sign up for such services. The user commonly signs-up for the service by filling out an electronic sign-up form. The form typically comprises a web document that has several empty fields into which the user enters personal information.
However, users are often deterred from filling-out such forms, as it requires the user to manually enter type written information. While the information itself is not difficult for the user to obtain, the actual typing in of such information every time the user desires to electronically sign up for a program is tedious for the user. Oftentimes, the user will enter the information and press an "accept" key only to receive a notice that some information was wrongly entered. The user then has to re-type all of the information. This deters the user from filling out electronic sign-up forms and acts as a significant impediment to service providers obtaining additional members.
After a user signs-up for an online service program, it would be highly desirable for the user to be able to administer his or her online memberships from a single source, such as a single web site that could be accessed from a web browser. This would be desirable from the user's standpoint, as it would be easier for a user to keep track of a multitude of online affiliations from a single web site. It would also be desirable from a service provider's standpoint, as it would allow the provider to offer additional services and upgrades in existing services from a single web site.
A web browser is a software device that allows a user of a client computer to download World Wide Web documents and view the documents on the client computer. The browser interacts with a web server across a communication channel. In general, the browser requests that the web server send specific web documents which are typically in the form of Hypertext Markup Language (HTML) code. Once a web document is obtained, the browser causes the document to be displayed on a computer output device. The browser typically allows the user to download the web documents by either clicking on a hyperlink or by entering the page's Web address or uniform resource locator (URL) into an address bar.
The URL is a reference (or address) to a resource available on a TCP/IP network such as the Internet. A URL is composed of a character string, and may have a number of parts. These parts include a top level domain name, second level domain name, directory name, and file name. URLs may identify a file located on a web server. URLs may also point to other resources on the network such as database queries and command output. The determination and use of URLs is well known in the art and is not discussed further herein.
When obtaining a web document, the web browser first establishes a TCP/IP connection with the web server by sending a connection request message to the web server. After a connection is established, the browser sends a request message to the server that contains the URL associated with the web document. The request message is sent according to the Hyper Text Transport Protocol (HTTP).
The web server then responds to the browser request with an HTTP response message. The response message typically includes a copy of the web document, which is typically in the form of a Hyper Text Markup Language (HTML) file. The HTML file includes tags that define the structure or format of the document. Each HTML tag serves a special purpose that helps identify the document's structure, such as holding and italic, fonts and font sizes, as well as tags that correspond to graphics contained on the page. The browser interprets the tags and then causes the web document to be rendered on the client computer's monitor. When the browser encounters a tag that corresponds to a graphic, the browser requests the server to send a copy of the graphic file. In short, the browser simply takes whatever HTML file that was supplied by the web server and then examines and renders the files contents.
There are a number of types of online service providers that administer the provision of online services to users. Online services may serve the general public or may serve a limited class of individuals. Some public OSPs utilize proprietary networks; America Online and @Home are examples. Other public OSPs use the public networks, and most Internet Service Providers (ISPs) are an example. OSPs often provide Internet access. Internet access is the primary service provided by some OSPs, most notably ISPs. Some Internet Service Providers provide their user's with special access to one or more web pages that acts as the user's gateway to the Internet. From the web page, the user can often access special promotions that are supplied by sponsors associated with the ISP. For example, the web page may contain clubs that the user may join as a special privilege of being an ISP member. The user uses the web page as a launching site to access other web sites or to perform web searches.
In certain situations, the ISP may desire to provide unique formats to web pages that the user accesses in order to enhance the user's Internet experience. The ISP may also desire to provide unique browser capabilities for its users. For example, it would be highly desirable for the browser to be able to translate the text of web documents into a language specified by the user. As mentioned, however, conventional browsers simply take whatever HTML documents that are supplied by a web server and render the documents on the local device. Accordingly, the ISP may lobby browser vendors, such as Microsoft and Netscape, to provide enhanced features in accordance with the ISP's needs. However, it is unrealistic for the ISP to expect a browser vendor to incorporate into its browser every feature that the ISP requests.
The ISP is free to design its own browser and provide the browser with specific features according to its own needs. However, such ISPs are not in the business of designing full-fledged browsers and, therefore, have neither the desire nor the wherewithal to provide the user with a browser having all the features of a Netscape Navigator or a Microsoft Internet Explorer. The ISP is therefore left with relying on the browsers supplied by conventional browser vendors to provide the eatures required by the ISP.
SUMMARY OF THE INVENTION
Disclosed is an Internet web server that is configured to receive requests from a client computer to provide the client computer with a web document associated with a remote web site. The web server includes a software program that allows the web server to perform the functions that are typically associated with a web browser. The software program is configured to establish a communication channel with the remote web site and to download and interpret web documents, preferably in the form of HTTP documents. The software program is further configured to dynamically modify the web documents and issue instructions to the client computer to display the modified version of the web document. In one embodiment, the software program comprises a servlet object that is written in the JAVA programming language.
Further disclosed is a method of administering an online club membership program. A membership administrator such as a web server preferably administers the program. The membership administrator preferably obtains data related to the user when the user signs up for the program. Additionally, the membership administrator also leams information about the user by monitoring the user's interaction with the Internet. The data is used to provide the user with special membership services without requiring the user to re-enter the data every time the user signs up for a service.
By joining the club membership program, the user is eligible for special services in connection with online services. The services are preferably provided in affiliation with one or more electronic service providers that each provide some sort of service for members of the club. The services could vary widely but are preferably configured to be provided electronically over the Internet. For example, the services could relate to the provision of stock quotes or the provision of financial services including electronic loan approval and/or financial account management, retail services, government entity services, or any other service that may be provided over an electronic medium. In one aspect of the invention, there is disclosed a method executed by a server computer under the control of a program stored in a memory of the server computer, the server computer being a portion of a client-server network. The method comprises the server computer receiving a request from a client computer of the client-server network to provide the client computer with a web document from a remote web server; the server computer invoking a servlet object; the servlet object establishing a communication channel between the server computer and the remote web server; the server computer forwarding the request to the remote web server; the server computer receiving the web document from the remote web server; the servlet object examining and interpreting the contents web document; the servlet object generating a modified version of the web document; and the servlet object instructing the client computer to display the modified version of the web document.
Still further objects and advantages attaching to the system and to its use and operation will be apparent to those skilled in the art from the following particular description.
DESCRIPTION OF THE DRAWINGS
Further objects of this invention, together with additional features contributing thereto and advantages accruing therefrom, will be apparent from the following description of a preferred embodiment of the present invention which is shown in the accompanying drawings with like reference numerals indicating corresponding parts throughout and which is to be read in conjunction with the following drawings, wherein:
Figure 1 is a first block diagram of a network data distribution system in accordance with the invention.
Figure 2 is a schematic illustration of a client device and a server device arranged in a client-server network.
Figure 3 is a schematic illustration of the server device.
Figure 4 is a flowchart of a method of implementing a browser proxy servlet in accordance with one aspect of the invention.
Figure 5 shows an exemplary browser window that includes a rendition of a web document.
Figure 6 is a exemplary embodiment of an online service provider server comprised of plural server devices.
Figure 7 is a flow chart that describes a method of administering an online club membership program.
These and additional embodiments of the invention may now be better understood by turning to the following detailed description wherein an illustrated embodiment is described. DETAILED DESCRIPTION OF THE INVENTION
Throughout this description, the preferred embodiment and examples shown should be considered as exemplars, rather than limitations on the apparatus and methods of the present invention.
Referring now to Figure 1, there is shown a block diagram of a network data distribution system in accordance with the invention in conjunction with a source of web pages. Figure 1 includes a client device 100, a data access network 120, an OSP server 130 and a web server device 150 that are arranged in a client-server relationship. The client device 100, the data access network 120 and the OSP server 130 comprise the network data distribution system. The client device 100 is provided online service to the network data distribution system under control of the OSP server 130. An online service provider controls the OSP server 130.
The client device 100 preferably comprises a client computer that is configured to access the OSP server 130 via the data access network 120. The client computer may be, for example, a PC running a Microsoft Windows operating system. The client device 100 preferably includes an output device, such as display 101, and an input device, such as keyboard 102 and / or pointing device 103 (e.g., mouse, track ball, light pen, or data glove). The client device 100 may also be, for example, an Internet appliance, network computer (NC), or an appropriately Internet-enabled device such as a portable digital assistant (PDA), mobile phone, etc. The particular type of device of the client device 100 is not considered to be important so long as the client device 100 can provide some measure of individual user interactivity with an online service.
The data access network 120 provides lower layer network support for the client device 100 to interact with online service, including the OSP server 130 and the web server device 150. The data access network 120 preferably comprises a common or private bidirectional telecommunications network (e.g., a public switched telephone network (PSTN), a cable-based telecommunication network, a LAN, a WAN, a wireless network), coupled with or overlaid by a TCP/IP network (e.g., the Internet or an intranet). The web server device 150 may be of the type known in the art and has the ability to serve web pages to the client device 100, as requested in the manner known in the art. It should be appreciated that the web server device 150 is representative of any source of web pages available to the client device 100. Thus, for example, the web server device 150 could be accessible from the Internet, or it could be a part of an intranet and represents any number of web servers.
The OSP server 130 preferably is a computer system, such as a server computer. Alternatively, the OSP server 130 may be considered to represent a number of physical devices that as a group provide the indicated network services. The OSP server 130 preferably acts as a gatekeeper to the online services. Only after the OSP server has authorized access can the client device 100 access the web server device 150 and any other resources of the online service.
Figure 2 schematically illustrates one embodiment of the client device 100 and the web server device 150. The client device 100 includes a central processing unit (CPU) 210 that is coupled to a memory 220. The memory 220 stores one or more application programs, including a browser application 225. The browser application 225 is software that provides interactive utilization of hypertext objects located on a network, such as web pages on the Internet. As used herein, "browser application" also includes most email clients and ftp clients.
The memory 220 also stores a client application 230. The client application 230 is a program operative on the client device 100, and preferably an independent application program or a DLL. The client application 230 preferably retrieves certain network data, displays certain network data, transmits geographic location data, transmits interactive user data, transmits network usage data and transmits other information related to a user of the online service. The client application 230 preferably also sets up and provides access to the online service.
The client device 100 also includes a network interface device 235 that is used to establish a communication channel 240 between the client device 100, the web server device 150, and the OSP server 130. The communication channel may be any wire or wireless communication channel.
With reference to Figure 2, the web server device 150 includes a network interface device 245, a CPU 250 and a memory 255. The memory 255 stores one or more computer programs that implement the processing associated with the description herein. The programs include a web server program 260. The web server program 260 is configured to serve web documents to client devices. The web server program 260 may be standard web server software that is modified to include the functionality described herein.
The memory 255 further includes one or more servlets 265. Each of the servlets 265 comprises a software module that runs in accordance with the web server program 260 and extends the functionality of the web server program 260. The web server program 260 interacts with the servlets 265 through at least one application program interface (API), as shown in Figure 3.
Figure 3 schematically illustrates the web server device 150. As mentioned, the memory 255 of the web server device 150 includes a web server program 260 and one or more servlets 265. The web server program 260 interacts with the one or more servlets 265 through corresponding application program interfaces (APIs). Each servlet preferably comprises a software object that is invoked by the web server program 260 and used to dynamically generate information or documents, such as a modified HTML document. The servlets 265 accept one or more requests from the web server program 260 and then return data to the web server program 260.
The servlets 265 are preferably loaded into the memory 250 at the start-up of the web server device 150. The servlets 265 then effectively operate in a continual loop while waiting to be invoked. Advantageously, when the web server program 260 invokes any of the servlets 265, there is no computational expense associated therewith because the servlets are already in a running mode. Alternatively, the servlets 265 may be loaded upon the occurrence of predetermined conditions or by invocation of the client device 100. In one embodiment, the web servlets are written in the JAVA programming language. In accordance with one aspect of the invention, one of the servlets 265 comprises a browser proxy servlet 265 a that is configured to function as a simple web browser. That is, the browser proxy servlet 265a is configured to cause the web server device 150 to establish a communication channel with a remote web server and thereafter request that the remote web server provide a web document stored on the remote web server. A "web document" comprises a document that is accessed and displayed on the Internet and which includes information in the form of text, graphics, audio, and hyperlinks to other web documents. A web document is also referred to as a web page. In a preferred embodiment, web documents are written in HTML. A web document is typically accessed by specifying a URL that is associated with the web document.
The browser proxy servlet 265a is also configured to interpret the contents of a web document and thereby determine the format of the web document when displayed in a browser window. For example, the browser proxy servlet 265a is configured to parse HTML documents, determine the meaning of HTML tags within the document, and thereby determine the attributes that the document contains, such as the content and format of text and graphics that are displayed in accordance with the HTML instructions. Additionally, the browser proxy servlet 265a is configured to interpret cookies that are associated with a web document. The browser proxy servlet 265a is preferably also configured to cause the web server device 150 to perform Internet search functions, such as by invoking an Internet search engine.
Additionally, the browser proxy servlet 265 a is preferably configured to perform at least some of the functions associated with full-fledged web browsers. For example, the browser proxy servlet 265a is configured to track and record web documents that have already been downloaded by the client device 100. The browser proxy servlet 265a is further configured to identify and download audio and visual files associated with the web document and to store the files in a location local to the web server device 150.
When the web server program 260 invokes the browser proxy servlet 265 a, the web server program 260 provides the browser proxy servlet 265 a with a URL associated with a web document and also provides any cookies associated with the web document. The browser proxy servlet 265a tiien causes the web server device 150 to obtain the web document by first establishing a communication channel with the web server that is associated with the URL and then downloading a copy of the web document. Once the web document is obtained, the browser proxy servlet 265a then dynamically modifies the web document and forwards the web document to the client device 100 for display by the browser application 225, as described in more detail below.
The web server device 150 is thus configured to serve web documents to the client device 100. Additionally, the browser proxy servlet 265a allows the web server device 150 to browse the World Wide Web by downloading and interpreting web documents.
Figure 4 is a flow chart that describes a method of accessing web documents on the World Wide Web using the browser proxy servlet 265a. The method begins when the web server device 150 receives a request from the client device 100 to provide a web document for display on the client device 100 (step 410). The request is typically in the form of an HTTP request that a user generates using the browser application 225 on the client device 100. Figure 5 shows one embodiment of a Microsoft Internet Explorer browser window 505 having an address bar 510. An exemplary rendition of a web document 512 is shown displayed within the browser window 505. The web document 512 includes one or more hypertext links 520. The user can generate an HTTP request for a web document by entering a URL associated with the web document into the address bar 510. Alternately, the user can use the keyboard 102 and / or pointing device 103 (Figure 1) to click on one of the hypertext links 520. This causes the browser application 225 to generate an HTTP request to provide the web document associated with the hypertext link.
In one embodiment, the client application 230 on the client device 100 causes the browser application 225 to route all web document requests from the client device 100 to the web server device 150. The web server device 150 thereafter handles all HTTP requests from the client device 100. Preferably, the requests are routed to the web server device 150 only after the user has accessed a web document associated with the Internet service provider and entered an authorization code. For example, Figure 5 shows a web document associated with an Internet service provider. The web document includes fields 525 for entry of a username and password. If the correct authorization code is not entered, the browser application 225 forwards all requests for web documents directly to the web site specified by the user without going through the web server device 150.
After the web server device 150 receives an authorized web document request from the client device 100, the web server software 160 invokes the browser proxy servlet 265a (step 420). The web server software 160 preferably establishes a request thread with the browser proxy servlet 265a that includes the parameters of the HTTP request from the client device 100, including the URL of the web document requested by the client device 100. The request thread preferably also includes any cookies associated with the web document. The browser proxy servlet 265a then translates the cookies and determines the location of the web document.
The browser proxy servlet 265a next causes the web server device 150 to establish a communication channel with the device on which the requested web document is stored (step 430). Such a device typically comprises a remote web server device that is configured to serve web documents. The communication channel is typically established over the Internet. After the communication channel with the remote web server is established, the browser proxy servlet 265a issues a request for the remote web server to provide the web document (step 440). The request preferably comprises an HTTP request that is substantially identical to the request issued by the client device 100. However, the browser proxy servlet 265 requests that the web document be sent to the web server device 150 rather than to the client device 100.
In step 450, the web server device 150 receives a copy of the web document from the remote web server. As mentioned, the web document is typically in the form of an HTML document that includes instructions associated with display attributes for the web document, such as fonts, font sizes, graphics, audio. The web document also includes instructions associated with the text that is displayed in association with the web document. The text to be displayed in association with the web document is referred to herein as the "display text." The display text may be in one or more human languages, such as English, Spanish, Japanese, etc. The particular language is referred to herein as the "native language" of the display text. After receiving the requested web document, the web server device 150 invokes the browser proxy servlet 265a to parse and interpret the web document (step 460). That is, the browser proxy servlet 265 a examines the contents of the web document and identifies tags that are associated with the attributes of the document, as well as any data that is displayed in connection with the document. The browser proxy servlet 265 a also identifies any graphic and audio files that are associated with the web document.
The browser proxy servlet 265 a next determines whether to modify the contents of the web document (step 470). The browser proxy servlet 265a preferably modifies certain web document for unique display on the browser window 505 of the client device 100. In one embodiment, the browser proxy servlet 265a determines the native language of the display text associated with the web document. The browser proxy servlet 265a then translates the native language into a second language that was previously specified by the user of the local device. The browser proxy servlet 265a preferably uses well-known algorithms and/or computer software to identify and translate the display text from the native language to the second language.
For example, assume that the user of the client device 100 specifies that he or she wishes to view all web documents in the English language. The ISP of the user preferably provides a medium, such as a dedicated web site, by which the user may specify the desired language. Thereafter, the browser proxy servlet 265a preferably translates the display text of all web documents requested by the user into the English language prior to forwarding the web document to the client device 100. Advantageously, the browser proxy servlet 265a translates the web documents so that the user and the browser application 225 on the client device 100 are blind to the process. The browser application 225 simply displays whatever web document that is supplied by the web browser proxy 265a.
In another embodiment, the browser proxy servlet 265 a determines whether the web document contains a form with empty fields that are to be filled in with data associated with the user. For example, the form may contain fields for entry of the user's name, address, credit card number, phone number, etc. If so, the browser proxy servlet 265a preferably modifies the web document by automatically filling in the empty fields with the appropriate user data. The user data is preferably accessed from data stores that are assembled in accordance with the methods described in the related patent applications described above. The browser proxy servlet 265 a preferably utilizes a data mapping dictionary to determine which user data should be inserted into which of the empty fields of the web document. The form-filling capabilities of the browser proxy servlet 265a facilitate the provision of unique services to members of the OSP, as described more fully below.
The browser proxy servlet 265a is also configured to modify the web document in other manners other than those described above. For example, the browser proxy servlet 265a may determine that the web document is associated with a particular sponsor of the user's ISP. If so, the browser proxy servlet 265a modifies the web document to incorporate data that is unique to the ISP.
After the browser proxy servlet 265a modifies the web document, the browser proxy servlet 265a causes the web server device 150 to instruct the client device 100 to display the modified version of the web document in the browser window 505 (step 480). This may be accomplished for example, by the browser proxy servlet 265a storing the modified web document in a storage location and sending instructions for the browser application to access modified URLs that point to the storage location. Alternatively, the browser proxy servlet 265a can send the modified web document to the client device 100 for display by the browser application 225. The browser application 225 then displays the web document in the browser window 505. The process then ends.
As mentioned above, the web server device 150 is configured to fill empty data fields in web documents with data associated with the user. The form-filling capabilities of the web server device 150 facilitate the provision of services to members of the OSP, such as by providing the user with pre-filled applications for membership for additional services.
In a preferred embodiment, the form-filling capabilities are provided in connection with a club membership program that is administered by a club administrator. The club administrator may be any entity, including an OSP, an ISP, a web portal entity or any other entity configured to administer services over the Internet. By joining the club membership program, the user is eligible for special services in connection with and in addition to the provision of online services. The services are preferably provided in affiliation with one or more electronic service providers that each provide some sort of service for members of the club. The services could vary widely but are preferably configured to be provided electronically over the data access network. For example, the services could relate to the provision of stock quotes or the provision of financial services including electronic loan approval and/or financial account management.
Preferably, the club administrator provides a user with membership in the club program in exchange for the user providing some sort of consideration. The consideration need not necessarily be monetary consideration. Rather, the user may simply provide the administrator with information regarding user attributes in order to obtain the membership in the club.
Figure 6 shows a representative embodiment of a club administrator server 605 that is configured to administer an online club membership program. The club administrator server 605 comprises a system of several devices that collectively administer the club membership program. Specifically, the club administrator server 605 includes a membership server 610, a services administration server 620, and a sponsor server 630. The club administrator server 605 further comprises a data store 640 communicatively coupled to each of the individual servers 610, 620, and 630.
The servers 610, 620, and 630 are each communicatively coupled to one another and each preferably include a central processing unit and a memory. Additionally, the servers 610, 620, and 630 are preferably configured to serve and download web documents in accordance with the description above. The embodiment of the club administrator server 605 described herein is a representative embodiment. It will be appreciated that the club administrator server 605 may comprise a single server device and can also include more or less server devices than are shown in the embodiment of Figure 6.
The membership server 610 is preferably configured to administer functions in association with the signing-up of members in the club membership program. The membership server 610 preferably serves one or more web documents that a user can access from a client device 100. The web documents preferably allow a user to sign-up for membership in the club program over the data access network 120. Upon sign-up of a user, the membership server 610 preferably obtains personal data about the member and stores the information in the data store 640. Personal data comprises any type of information descriptive of the user, including the user's name, age, home and work address, home and work phone numbers, and social security number. The membership server 610 can also obtain additional data regarding the user by tracking the user's interaction with the data access network. The additional data is preferably obtained in connection with the types of web documents that the user accesses, as described in the related applications referenced above.
The membership server 610 preferably also obtains and manages club preference data from the user. The preference data relates to the user's preferences regarding the club administrator's management of the user data. Preferably, the user provides or denies permission for the club administrator to share the data with authorized service providers that are associated with the club. The permission may be granted on one or more graduating levels. For example, the user may authorize the club administrator to only provide name and address information but not to provide any financial information.
On another level, the user may authorize the club administrator to continually provide updated information to service providers that already are in possession of the information about the user, such as if the user has previously transacted with the service provider. This would allow the user to utilize the club membership as an online manager of personal information so that when the club administrator obtains revised data regarding the user, the revised data is automatically forwarded to authorized online service providers.
The services administration server 620 is configured to monitor and administer the services that are provided to the user in association with the club membership. The service administration server 620 preferably updates web documents to reflect changes to promotions offered by the service providers. The service administration server 620 preferably also monitors the user's interaction with the data access network in accordance with the methods described in the related patent applications referenced above. This allows the club administrator to obtain additional data regarding the user and to update the data in the data store 640.
The service provider server 630 is preferably configured to serve web documents that are associated with each of the service providers. Preferably, each service provider affiliated with the club membership program has one or more web documents that describe the type of services that are offered. The user preferably accesses the web documents by clicking on hyperlinks that are displayed on a home web document for the club. The service provider server 630 may be replaced by or supplemented with one or more remote servers that are managed independently by the service providers. In such a case, the club administrator server 605 downloads the service provider's web document over the data access network 120.
The types of services offered by service providers may vary widely. A service provider comprises any entity that offers information or services to a member of the club membership program. Service providers may be any organization, such as online clubs, special interest groups, political groups, voter registration groups, or government organizations, such as the department of motor vehicles. Service providers may also comprise retailers, insurance providers, legal service providers, and medical service providers.
The services preferably include the provision of financial information and services, such as stock quotes, stock purchases, credit cards and loans. The services may also include the provision of credit card applications, insurance, government services, and information services for clubs and organizations. Any type of service that may be offered over an electronic medium may be provided in accordance with the membership program.
Figure 7 shows a flow chart that describes a method of administering online club membership services. The method begins when the user signs up for membership in the club membership program (step 710). The user preferably signs up over the data access network 120, such as by using the browser application 225 to download and view a web document that is associated with membership signups. Alternately, the user may sign up in the club membership program by using a telephone or by providing the club administrator with e-mail or snail mail. The club administrator may offer membership in the club membership program either in conjunction with membership in an OSP or as an additional feature that is available to OSP members. Preferably, membership in the club membership program is provided independent of membership in an OSP.
The membership server 610 preferably obtains information about the user when the user signs up for membership in the club program (step 720). In one embodiment, the user initially manually provides the information upon signing up for membership in the club program. In another embodiment, the membership server 610 obtains the personal information from an existing database owned or accessible to the membership server 610 or from a database managed by a third party. Thereafter, the membership server 610 may obtain additional information about the user by periodically requesting updates from the user and by monitoring the user's interaction with the data network 120, particularly with respect to the content of web documents that the user accesses. The membership server 610 preferably stores the information regarding the user in the data store 640.
After the user has signed up for membership in the club program, the services administrator server 620 preferably offers one or more services to the user as a privilege of the membership (step 730). The services are preferably offered in association with the service providers that are affiliated with the club administrator. As mentioned, the types of services preferably relate to services that may be offered over an electronic medium, such as in conjunction with a web document. For example, the services administrator server 620 may offer the user the ability to track stock quotes using a service vendor that provides stock market services. The services may be offered either for monetary payment or for free.
Desirably, the services administrator server 620 offers the services in connection with a web document that is displayed in the browser window 505. As shown in Figure 5, the browser window includes one or more hyperlinks 520, some of which may be associated with a service. The hyperlink preferably includes a label that describes the type of services available to the user. The user preferably clicks on the hyperlink and the service administrator server 620 thereafter provides a web document that provides additional information regarding the terms for participating in the service. In a preferred embodiment, at least one of the web documents is a form having one or more data fields for entry of us;r-related information (step 740). Prior to providing the web document to the local device, the services administrator sever 620 pre-fills the data entry fields with the appropriate user-related data from the data store 640 according to the method described above with respect to Figure 4. The user is therefore provided with a service signup form that is pre-filled with user information so that the user is not required to manually enter the information. This greatly facilitates the user signing up for the service, which increases the likelihood that the user will indeed sign up. The user examines the form and may revise the information contained in the form. For example, the user may enter a new address or telephone number.
After the services administrator server 620 provides the sign-up form to the client device 100, the user accepts the service related to the form (step 750). Preferably, the web document includes a one-click hypertext link that the user selects to affirm sign up with the service. This makes it as easy as possible for the user to sign up. As mentioned above, the user preferably also provides one or more levels of authorization that allow the club administrator to forward the user information to the service providers.
The services administrator server 620 preferably also examines the contents of the form to determine whether the user has revised the user information. If so, the services administrator server 620 preferably updates the user's personal information in the data store 640. Additionally, the server 620 preferably sends a notice to the user asking the user whether the updated information should be sent to other service providers. Alternately, the user may authorize that the server 620 to automatically update the service providers when the user enters new information into a form.
Thereafter, the local device 100 transmits a copy of the filled-in form to the club administrator server 605. The club administrator server 605 then provides the service provider with the user-related information (step 760). This is preferably accomplished by forwarding a copy of the web document to a web server device associated with the service provider, such as the service provider server 630. In step 770, the membership server 610 updates the user-related information in the data store 640. The membership server 610 preferably updates the information on a periodic basis. Finally, the membership server 610 also periodically updates the enrollment status of the user for all services for which the user has signed up. For example, if the membership server 610 server obtains new address information regarding the user, the new information is electronically forwarded to the service provider so that the service provider's records may be updated. Additionally, the membership server 610 preferably automatically notifies the user of and/or automatically signs up the user for upgrades in the services provided by the service provider (step 780).
For example, assume that the user has signed up for program "blue" from a service provider. The service provider subsequently offers an upgrade from program "blue" to program "red." Preferably, the club administrator server 605 automatically upgrades the user's membership from program blue to program red, assuming that the user has authorized such automatic upgrades.
The club administrator server 605 is also configured to forward the user information in the data store 640 to one or more remote data stores as a group package. This will allow the user-base of the club membership program to be bulk transferred to other electronic membership programs without having to transfer the user information on an individual basis. The forwarding of user information is preferably governed by a set of preferences specified by the user. Each user preferably notifies the club administrator whether the user information may be automatically transferred to service providers or to third parties. Each user preferably also provides or denies authorization for the club administrator to allow service providers to send updates or additional information to the user.
In one embodiment, the services administrator server 620 periodically reviews the user information and compares it to a list of services offered by service providers. The services administrator server 620 then automatically sends notices to the user of services for which the user is eligible or for which the user seems to be interested. If the user has provided authorization, then the services administrator server 620 may automatically enroll the user in such programs. The services administrator server 620 could also be configured to notify the user of important expiration dates such as the pending expiration of a license. The user could then use the client device 100 to instruct the services administrator server 620 to forward updated user information to the licensing entity with instructions to renew the license.
The club administrator server 605 is thus configured to administer and provide electronic services for the user. The club membership program is preferably used to provide the user with a one-stop ability to manage electronic information and services.
Although exemplary embodiments of the present invention have been shown and described, it will be apparent to those having ordinary skill in the art that a number of changes, modifications, or alterations to the invention as described herein may be made, none of which depart from the spirit of the present invention. All such changes, modifications and alterations should therefore be seen as within the scope of the present invention.

Claims

CLAIMSIt is claimed:
1. A method executed by a server computer under the control of a program stored in a memory of the server computer, the server computer being a portion of a client-server network, the method comprising:
(a) the server computer receiving a request from a client computer of the client-server network to provide the client computer with a web document from a remote web server;
(b) the server computer invoking a servlet object;
(c) the servlet object establishing a communication channel between the server computer and the remote web server;
(d) the server computer forwarding the request to the remote web server;
(e) the server computer receiving the web document from the remote web server;
(f) the servlet object examining and interpreting the contents web document;
(g) the servlet object generating a modified version of the web document; and
(h) the servlet object instructing the client computer to display the modified version of the web document.
2. The method of claim 1, wherein the server computer receiving a request from a client computer comprises the server computer receiving a Hyper Text Transport Protocol request.
3. The method of claim 1, wherein the web document comprises a document written in Hyper Text Markup Language.
4. The method of claim 1, wherein the servlet object examining and interpreting the contents of the web document comprises the servlet object determining the native language of display text associated with the web document.
5. The method of claim 4, wherein the web document includes instructions to display the display text in the native language and wherein the servlet object generating a modified version of the web document comprises the servlet object modifying the instructions so that the display text is displayed in a second language different from the native language.
6. The method of claim 5, wherein the second language is English.
7. The method of claim 1, wherein the servlet object examining and interpreting the contents of the web document comprises the servlet object determining whether the web document comprises a form that includes empty data fields.
8. The method of claim 7, wherein the servlet object generating a modified version of the web document comprises the servlet object accessing data and inserting the data into the empty data fields of the web document according to a data mapping dictionary.
9. The method of claim 1, wherein the servlet object comprises JAVA programming language.
10. A computer-readable software program that can be used to direct a server computer of a client-server computer network to function in a specified manner, the software comprising a set of instruction for causing the server computer to:
(a) receive a request from a client computer of the client-server network to provide the client computer with a web document;
(b) invoke a software module, the software module being configured to interact with a remote web server and download one or more web documents from the remote web server; (c) forward the request from the client computer to the remote web server;
(d) download the web document from the remote web server;
(e) modify the contents of the web document and thereby generate a modified version of the web document;
(f) instruct the client computer to display the modified version of the web document.
11. The computer-readable software program of claim 10, wherein the request from the client computer comprises a Hyper Text Transfer Protocol request.
12. The computer-readable software program of claim 10, wherein the web document comprises a Hyper Text Markup Language document.
13. The computer-readable software program of claim 10, wherein the web document includes instructions to display text in a native language.
14. The computer-readable software program of claim 13, wherein the server computer modifies the web document to include instructions to display the text in a second language different from the native language.
15. The computer-readable software program of claim 13, wherein the software module comprises a servlet object written in the JAVA programming language.
16. The computer-readable software program of claim 10, wherein the server computer modifies the contents of the web document by inserting data into data fields of the web document.
17. The computer-readable software program of claim 10, wherein the request from the client computer includes one or more cookies.
18. The computer-readable software program of claim 17, wherein the software module is configured to interpret cookies.
19. A method of dynamically generating web documents using a server computer in a client- server computer network, the method comprising:
(a) the server computer receiving a Hyper Text Transfer Protocol request from a client computer of the client-server computer network, the request including instructions to obtain a specific web document;
(b) the server computer invoking a servlet to establish a communication channel with a remote web server;
(c) the server computer invoking a servlet to request that the remote web server provide a copy of the specified web document;
(d) the server computer invoking a servlet to receive the web document from the remote web server;
(e) the server computer invoking a servlet to parse the contents of the web document and generate a modified version of the web document;
(f) the server computer forwarding the modified version of the web document to the client computer.
20. The method of claim 19, wherein the server computer generates a modified version of the web document by translating display text in the web document from a first language to a second language.
21. The method of claim 19, wherein the web document comprises a form with one or more empty data fields.
22. The method of claim 21, wherein the server computer generates a modified version of the web document by inserting data into the empty data fields of the web document.
23. The method of claim 20, wherein the servlet comprises Java programming language.
24. The method of claim 20, wherein the specific web document comprises a Hyper Text Markup Language document.
25. A method of accessing web documents from a remote web server of a client-server network, the method comprising:
(a) a server device receiving a request from a client device to provide the client device with a web document;
(b) the server device identifying a location of the web document and thereafter downloading a copy of the web document;
(c) the server device determining the native language of display text associated with the web document;
(d) the server device generating a modified version of the web document by translating the native language of the display text into a second language;
(e) the server device instructing the client device to display the modified version of the web document.
26. The method of claim 24, wherein the server device invokes a servlet to identify the location of the web document and to download a copy of the client document.
27. The method of claim 25, additionally comprising the server device receiving an instruction from the client device that specifies the second language.
28. A method of administering an online club membership program in a client-server network system including a server computer under the control of a program stored in a memory of the server computer, the method comprising: (a) the server computer f igning up a user of a client computer for membership in the club membership program;
(b) the server computer obtaining personal information from the user;
(c) the server computer signing the user for membership in one or more promotional services administered by a service provider;
(d) the server computer forwarding at least a portion of the personal information to the service provider;
(e) the server computer monitoring the user's interaction with the network system;
(f) the server computer obtaining additional personal information about the user based upon the user's interaction with the network system;
(g) the server computer automatically sending the additional personal information to the service provider.
29. The method of administering an online club membership program of claim 28, wherein the personal information comprises the user's name, address, home telephone number, and social security number.
30. The method of administering an online club membership program of claim 28, wherein the user's interaction with the network comprises the user downloading web documents from the network.
31. The method of administering an online club membership program of claim 28, additionally comprising the server computer forwarding a copy of a web document to the client computer, wherein the web document includes one or more empty data fields for the entry of the user's personal information.
32. The method of administering an online club membership program of claim 31, wherein the server computer pre-fills the entry data fields with the user's personal information prior to forwarding the copy of the web document to the client computer.
33. The method of administering an online club membership program of claim 31, wherein the service provider comprises a financial services provider.
34. The method of administering an online club membership program of claim 31, wherein the service provider comprises a government entity.
35. The method of administering an online club membership program of claim 31, wherein the server computer automatically sends the additional personal information to the service provider only if the user has provided authorization.
36. The method of administering an online club membership program of claim 31, wherein the server computer automatically notifies the user of revisions in services provided by the service provider.
PCT/US2000/006491 1999-12-20 2000-03-09 Method and apparatus employing a proxy server for modifying an html document supplied by a web server to a web client WO2001046873A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU37412/00A AU3741200A (en) 1999-12-20 2000-03-03 Method and apparatus employing a proxy server for modifying an html document supplied by a web server to a web client

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US46775199A 1999-12-20 1999-12-20
US09/467,751 1999-12-20

Publications (1)

Publication Number Publication Date
WO2001046873A1 true WO2001046873A1 (en) 2001-06-28

Family

ID=23857026

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2000/006491 WO2001046873A1 (en) 1999-12-20 2000-03-09 Method and apparatus employing a proxy server for modifying an html document supplied by a web server to a web client

Country Status (2)

Country Link
AU (1) AU3741200A (en)
WO (1) WO2001046873A1 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002025430A2 (en) * 2000-09-19 2002-03-28 Irn, Inc. Method for performing programming by plain text requests
GB2372907A (en) * 2001-02-06 2002-09-04 Bosch Gmbh Robert Method of incorporating Internet pages in digital radio signals
EP1333636A1 (en) * 2002-01-30 2003-08-06 Koninklijke KPN N.V. Mobile terminal and data providers for filling in electronic forms
US6757661B1 (en) * 2000-04-07 2004-06-29 Netzero High volume targeting of advertisements to user of online service
US7475404B2 (en) 2000-05-18 2009-01-06 Maquis Techtrix Llc System and method for implementing click-through for browser executed software including ad proxy and proxy cookie caching
EP2631824A3 (en) * 2012-01-31 2014-02-26 Openwave Mobility, Inc. Systems and methods for modifying webpage data
EP2847686A4 (en) * 2012-05-07 2016-09-21 Digital Guardian Inc Enhanced document and event mirroring for accessing content

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997018516A1 (en) * 1995-11-13 1997-05-22 Compuserve Incorporated Integrated multilingual browser
WO1998033130A1 (en) * 1997-01-24 1998-07-30 Motorola Inc. Proxy host computer and method for accessing and retrieving information between a browser and a proxy
US5790785A (en) * 1995-12-11 1998-08-04 Customer Communications Group, Inc. World Wide Web registration information processing system
US5794259A (en) * 1996-07-25 1998-08-11 Lextron Systems, Inc Apparatus and methods to enhance web browsing on the internet
US5884246A (en) * 1996-12-04 1999-03-16 Transgate Intellectual Properties Ltd. System and method for transparent translation of electronically transmitted messages
EP0918424A2 (en) * 1997-11-24 1999-05-26 International Business Machines Corporation Automatic association of predefined user data with query entry fields
WO1999046701A1 (en) * 1998-03-09 1999-09-16 Amazon.Com, Inc. Method and system for automatically filling forms in an integrated network based transaction environment
US5987402A (en) * 1995-01-31 1999-11-16 Oki Electric Industry Co., Ltd. System and method for efficiently retrieving and translating source documents in different languages, and other displaying the translated documents at a client device
WO1999062011A1 (en) * 1998-05-28 1999-12-02 Telefonaktiebolaget Lm Ericsson (Publ) Advertisements on a data network
WO1999064967A1 (en) * 1998-06-12 1999-12-16 Telefonaktiebolaget Lm Ericsson (Publ) A method and a system for transmitting a cookie
WO2000030008A1 (en) * 1998-11-16 2000-05-25 Sun Microsystems, Inc. Method and apparatus for local advertising

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5987402A (en) * 1995-01-31 1999-11-16 Oki Electric Industry Co., Ltd. System and method for efficiently retrieving and translating source documents in different languages, and other displaying the translated documents at a client device
WO1997018516A1 (en) * 1995-11-13 1997-05-22 Compuserve Incorporated Integrated multilingual browser
US5790785A (en) * 1995-12-11 1998-08-04 Customer Communications Group, Inc. World Wide Web registration information processing system
US5794259A (en) * 1996-07-25 1998-08-11 Lextron Systems, Inc Apparatus and methods to enhance web browsing on the internet
US5884246A (en) * 1996-12-04 1999-03-16 Transgate Intellectual Properties Ltd. System and method for transparent translation of electronically transmitted messages
WO1998033130A1 (en) * 1997-01-24 1998-07-30 Motorola Inc. Proxy host computer and method for accessing and retrieving information between a browser and a proxy
EP0918424A2 (en) * 1997-11-24 1999-05-26 International Business Machines Corporation Automatic association of predefined user data with query entry fields
WO1999046701A1 (en) * 1998-03-09 1999-09-16 Amazon.Com, Inc. Method and system for automatically filling forms in an integrated network based transaction environment
WO1999062011A1 (en) * 1998-05-28 1999-12-02 Telefonaktiebolaget Lm Ericsson (Publ) Advertisements on a data network
WO1999064967A1 (en) * 1998-06-12 1999-12-16 Telefonaktiebolaget Lm Ericsson (Publ) A method and a system for transmitting a cookie
WO2000030008A1 (en) * 1998-11-16 2000-05-25 Sun Microsystems, Inc. Method and apparatus for local advertising

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6757661B1 (en) * 2000-04-07 2004-06-29 Netzero High volume targeting of advertisements to user of online service
US8108881B2 (en) 2000-05-18 2012-01-31 Mqquis Techtrix LLC System and method for implementing click-through for browser executed software including ad proxy and proxy cookie caching
US7475404B2 (en) 2000-05-18 2009-01-06 Maquis Techtrix Llc System and method for implementing click-through for browser executed software including ad proxy and proxy cookie caching
US7058582B2 (en) 2000-09-19 2006-06-06 Irn, Inc. Method for performing programming by plain text requests
WO2002025430A2 (en) * 2000-09-19 2002-03-28 Irn, Inc. Method for performing programming by plain text requests
WO2002025430A3 (en) * 2000-09-19 2003-12-24 Irn Inc Method for performing programming by plain text requests
GB2372907A (en) * 2001-02-06 2002-09-04 Bosch Gmbh Robert Method of incorporating Internet pages in digital radio signals
GB2372907B (en) * 2001-02-06 2003-03-05 Bosch Gmbh Robert Method of incorporating internet pages in digital radio signals
EP1333636A1 (en) * 2002-01-30 2003-08-06 Koninklijke KPN N.V. Mobile terminal and data providers for filling in electronic forms
WO2003065678A3 (en) * 2002-01-30 2004-03-11 Koninkl Kpn Nv Mobile terminal and providers for filling in electronic forms
WO2003065678A2 (en) * 2002-01-30 2003-08-07 Koninklijke Kpn N.V. Mobile terminal and providers for filling in electronic forms
EP2631824A3 (en) * 2012-01-31 2014-02-26 Openwave Mobility, Inc. Systems and methods for modifying webpage data
US10049168B2 (en) 2012-01-31 2018-08-14 Openwave Mobility, Inc. Systems and methods for modifying webpage data
EP2847686A4 (en) * 2012-05-07 2016-09-21 Digital Guardian Inc Enhanced document and event mirroring for accessing content
US10798127B2 (en) 2012-05-07 2020-10-06 Digital Guardian Llc Enhanced document and event mirroring for accessing internet content

Also Published As

Publication number Publication date
AU3741200A (en) 2001-07-03

Similar Documents

Publication Publication Date Title
USRE43715E1 (en) System and method for integrating public and private data
KR100825438B1 (en) Translation ordering system
US7958516B2 (en) Controlling communication within a container document
US9094479B2 (en) Delivering electronic content
US8918713B2 (en) Module specification for a module to be incorporated into a container document
US7624160B2 (en) Methods, systems, and computer program products for client side prefetching and caching of portlets
EP1320972B1 (en) Network server
US20060282767A1 (en) Web content customization via adaptation web services
US20090043727A1 (en) System and Method for Stepped Loading of Web Page Content
US20030079176A1 (en) Advertisement method and system for displaying an advertisement window in the specific area of a web browser
US20010037359A1 (en) System and method for a server-side browser including markup language graphical user interface, dynamic markup language rewriter engine and profile engine
US20050182690A1 (en) Wish list
US20030163372A1 (en) Delivering content and advertisement
AU2001271596A1 (en) System and method for integrating public and private data
US20010037242A1 (en) Method and system for delivering content and direct marketing over a network
US20030028427A1 (en) User control of electronic personal information while browsing the Web
US20020046279A1 (en) Methods and systems for call processing utilizing a uniform resource locator
WO2002033574A2 (en) System, apparatus and method for personalising web content
EP1118950A1 (en) Process for personalized access to the internet network
WO2001046873A1 (en) Method and apparatus employing a proxy server for modifying an html document supplied by a web server to a web client
US20030052912A1 (en) Method and system for cell rendering and manipulation
KR20020004093A (en) Apparatus and method for creating internet advertising
US20050108350A1 (en) World wide Web document distribution system wherein the host creating a Web document is enabled to assign priority levels to hyperlinks embedded in the created Web documents
Cisco New World Service Provider Web Application
US20040260817A1 (en) Facilitating access to a resource of an on-line service

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AL AM AT AU AZ BA BB BG BR BY CA CH CN CR CU CZ DE DK DM EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase