WO2001080086A2 - Method and apparatus for a dual rendering engine browser - Google Patents
Method and apparatus for a dual rendering engine browser Download PDFInfo
- Publication number
- WO2001080086A2 WO2001080086A2 PCT/US2001/012146 US0112146W WO0180086A2 WO 2001080086 A2 WO2001080086 A2 WO 2001080086A2 US 0112146 W US0112146 W US 0112146W WO 0180086 A2 WO0180086 A2 WO 0180086A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- rendering
- rendering engine
- document
- documents
- program
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9577—Optimising the visualization of content, e.g. distillation of HTML documents
Definitions
- This invention relates to the field of computer programs and more specifically to a method and apparatus for a dual rendering engine browser.
- the usage of the INTERNET is increasing at a very large rate.
- a user accesses content on the Internet by executing a "web browser" or "parser” program locally at a client (such as a home computer) and interconnecting to a server of an Internet Service provider.
- the interconnection may use any of a variety of communication links such as a dial-up telephone communication link or a dedicated communication link, such as a cable modem.
- the web browser is a computer program that allows the client to exchange information with the remote server. Any of a variety of web browsers are available, such as NETSCAPE NAVIGATOR, MICROSOFT EXPLORER and others that allow users to conveniently access and navigate the Internet using a graphical user interface.
- Web browsers receive web pages in a format or language understandable by a web browser, such as Hypertext Markup Language ("HTML").
- HTML is a common markup language that describes the structure and behavior of a document.
- Web browsers through the use of a rendering engine, interpret the web pages and generate a corresponding display of the web pages using a graphical user interface.
- One drawback of the present invention is that different rendering engines interpret HTML differently. Therefore, the output of various web browsers may differ.
- to view different outputs one must use different web browsers at separate times. This is cumbersome to both users of web browsers and developers of web content who need to know what their work will look like using different browsers.
- a need has arisen for a method and apparatus for a dual rendering engine browser.
- a method and apparatus for a dual rendering engine browser is provided that allows a user to view a document formatted in a markup language with a rendering engine of the user's choice or using more than one rendering engine.
- an apparatus for processing HTML text includes a computer having a processor and memory that is operable to run a parser program.
- the parser program includes two or more rendering engines.
- the parser program is operable to receive HTML formatted text, select a rendering engine; and process the HTML text.
- a technical advantage of the present invention includes the ability of a user to choose what rendering engine best fits the particular document to be viewed.
- Another technical advantage of the present invention includes the ability to use multiple rendering engines simultaneously.
- FIG. 1 is a diagram illustrating a network interconnection including a client and an Internet server
- FIG. 2 is a block diagram illustrating the client and a remote Internet server
- FIG. 3 is a block diagram showing the functional parts of the program of the present invention
- FIG. 4a and FIG. 4b illustrate web browser display in accordance with the teachings of the present invention
- FIG 5 is a flowchart illustrating the operation of an embodiment of the present invention.
- FIG. 1 is a diagram illustrating a network interconnection 100 including a client 102 and an Internet server 104.
- Network interconnection 100 includes the interface between Internet server 104 and a plurality of clients through a plurality of direct communication lines 108.
- network interconnection 100 includes an interconnection between client 102 and Internet server 104 through a direct communication line 106.
- Network interconnection 100 also includes the interface between Internet server 104 and other Internet servers through a plurality of communication lines 110. I-n this manner, Internet server 104 allows the plurality of clients directly interconnected with server 104, such as client 102, to communicate with other Internet users by providing an interconnection to other Internet servers through communication lines 110.
- Other Internet users are also directly interconnected with a server such that a commumcation path may be established between one client and another client through the various serves of the Internet.
- Internet server 104 is a computer such as a personal computer, file server, workstation, mimcomputer, mainframe, or any other computer capable of communicating and interconnecting with other computers.
- Internet server 104 will preferably include a processor, a printer, an input device such as a mouse and/or a keyboard, a monitor, a floppy disk drive, memory, a modem, and a mass storage device such as a hard disk drive.
- Communication lines 110 and direct communication lines 108 may be any type of communication link capable of supporting data transfer.
- these communication lines may include any combination of an Integrated Services Digital Network ("ISDN”) communication line, a hard wired line, or a telephone link.
- ISDN Integrated Services Digital Network
- Client 102 may be similar to Internet server 104 and may be implemented using virtually any type of computer.
- Client 12 will preferably be a personal computer having a processor, a printer, an input device such as a mouse and/or a keyboard, a monitor, a floppy disk drive, memory, a modem, and a mass storage device such as a hard disk drive.
- Client 102 and Internet server 104 will be operating under the control of an operating systems such as MS-DOS, Macintosh OS, WINDOWS NT, WINDOWS 95/98/2000, OS/2, UNLX, LINUX and the like.
- Client 102 and Internet server 104 may execute any number of available application programs such as a web browser.
- the various clients of network interconnection 100 may communicate through server 104 with any other client connected to the
- client 102 may couple to Internet server 104 and provide the address of URL of an Internet web page.
- the Internet web page will generally be stored on another Internet server located remotely.
- Internet server 104 through the plurality of communication lines 110, communicates with other Internet servers. Eventually, the receiving Intemet server is found and in response, transmits the HTML formatted Internet web page back to Internet server 104 for viewing by client 102 using a web browser.
- network interconnection 100 has been illustrated and described in FIG. 1 as being a node or interconnection on the Internet, network interconnection 100 may be any interconnection found on any computer network such as a local area network ("LAN”), a wide area network ("WAN"), an intranet, such as a corporate intranet, or any other communications and data exchange system created by connecting two or more computers.
- LAN local area network
- WAN wide area network
- intranet such as a corporate intranet
- the present invention will be illustrated and described with an implementation using the Internet, however, it should be understood that the present invention is not limited to only implementations using the Internet. It may, for example, be implemented on a single computer operating by itself.
- FIG. 2 is a block diagram illustrating client 102 and a remote Internet sever 104.
- Client 102 includes a processor 208, input/output ("I/O") devices 210, and a client memory 202.
- Processor 208 under the control of an operating system 204, controls the operation of client 102 and is used to retrieve, process, store, and display data.
- Operating system 204 and a parser program 206 are stored in client memory 202.
- Client memory 202 may be a random access memory (“RAM”), Read-only memory (“ROM”), or other types of memory.
- Processor 208 is typically implemented as a microprocessor, such as those manufactured by INTEL, MOTOROLA, or ADVANCED MICRO DEVICES. Processor 208 may include an arithmetic logic unit to assist in performing mathematical operations. Processor 208 communicates control, address, and data signals with operating system 204 and with the remaining components of client 102 through a system bus. Processor 208 interprets and executes instructions that have been fetched or retrieved from client memory 202 and may be implemented as a single integrated circuit or as a combination of integrated circuits.
- I/O devices 212 may include any peripheral that allows data to be exchanged with client 102 and may include such devices as a keyboard, a monitor, a printer, a modem, a pointing device, such as a mouse, a floppy disk drive, a mass storage device, such as a hard disk drive, and the like.
- the mass storage device is used to store computer files including application programs and data files.
- the mass storage device may be used to store parser program 206 and operating system 204.
- Operating system 204 includes a set of computer programs that control the internal functions of client 102, thereby allowing client 102 to run application programs.
- Operating system 204 is typically stored in and provided from a mass storage device, such as a hard disk drive, a floppy disk drive, a CD ROM drive or a ROM chip.
- a mass storage device such as a hard disk drive, a floppy disk drive, a CD ROM drive or a ROM chip.
- client memory 202 During start-up or initialization of client 102, operating system 204 is loaded into client memory 202.
- Application programs, such as parser program 206 may also be loaded into client memory 202 along with operating system 204.
- Parser program 206 is a graphical web browser that allows a user to view images, fonts, and document layouts provided in a web page by converting large units of data into smaller, more easily interpreted, units of data.
- Parser program 206 reads the tagged document of a web page or other markup language formatted document, such as those provided in Hypertext Markup Language (HTML) format.
- HTML uses tags to identify the parts of a web page, such as headings, bulleted lists, body text, on-screen forms, including fill-in text boxes, options buttons, radio buttons, and drop-down list boxes, images to be displayed, hypertext links, colors, font, and various other formatting tags.
- Parser program 206 formats the various parts of the document for on-screen display as directed by the HTML tags. It accomplishes this by using a rendering engine which interprets the HTML formatted document.
- a web browser includes multiple rendering engines. Rendering engines are discussed in greater detail in conjunction with FIGURES 3 through 5. While HTML is used as an example markup language, the present invention is not limited to HTML formatted documents but includes other markup languages as well, such as SGML and GML.
- a user is able to choose a rendering engine to process the markup language formatted documents information from a selection of two or more rendering engines such as the Internet Explorer rendering engine used in the Internet Explorer web browser or the MOZILLA rendering engine used in the Netscape browser as well as any other rendering engines.
- rendering engines for different web browsers can be called by third party software by specifying an application ID and an interface ID.
- the use of, and accessing of, rendering engines is known to those skilled in the art.
- a user can view a markup language formatted document processed by different rendering engines simultaneously in different windows of the display.
- parser program 206 can also be used as part of a program or series of programs used to develop markup language formatted documents such as web pages.
- a developer using the parser program 206 of the present invention will be able to ensure the markup language formatted document under development will work with different browsers. Further discussions of these embodiments are presented in the following descriptions.
- Remote Internet server 104 includes a server memory 222, a processor 224, and a mass storage device 226.
- Remote Internet server 105 also preferably includes various I/O devices 228 such as those mentioned above in the description of I7O devices 212 of client 102.
- Operating system 220 and a web server 222 are stored in mass storage device 226 and are shown loaded into server memory 223.
- Processor 224 in conjunction with operating system 220, controls the operation of remote Internet server 104.
- Processor 224 fetches and executes various instructions stored in server memory 223.
- Operating system 220 operates similarly to operating system 204 of client 102 and includes a set of computer programs that control the internal functions of remote Internet server 104.
- Operating system 220 controls the allocation and usage of hardware resources such as server memory 223, processor 224, mass storage device 226, and optional I O devices 228.
- Operating system 220 may be any of a variety of available operating systems depending partially on the hardware of server 104.
- operating system 220 may be implemented as MS-DOS, the Macintosh OS, OS/2, WINDOWS NT, WINDOWS NT/ WINDOWS 95/98/2000, UNIX, LINUX or any of a variety of other operating systems.
- Web server program 220 is an application program shown loaded into server memory 223.
- Web server program 220 is stored in mass storage device 226 and is then loaded into server memory 223 when selected by a user or is initiated on the server side.
- markup language formatted documents will be provided to parser program 206.
- FIGURE 3 illustrates a block diagram showing the functional parts of the program of the present invention. Illustrated is a parser program 304 having a first rendering engine 306 and a second rendering engine 308 which is coupled to a display system 310.
- parser program 304 is operable to receive text files written in a markup language, such as HTML formatted documents.
- HTML formatted documents 302 can be loaded via a request from parser 304 to send files from a remote server, or a parser 304 can retrieve HTML formatted documents 302 from a local storage device.
- HTML formatted documents 302 After receiving HTML formatted documents 302, a choice is then made as to which rendering engine is to be used. This choice can be made by a user operating the program.
- a user may choose that a first rendering engine 306 is to be used.
- the HTML document 302 received by parser 304 will be processed using first rendering engine 306.
- the rendered text can be displayed by display routine 310 on a monitor or other display device.
- the second rendering engine 308 is to be used, then the HTML documents 302 is processed by second rendering engine 308 and then displayed by display routine 310.
- both rendering engines are to be used so as to view the web text side-by-side or rendered by two different rendering engines in order to determine any differences introduced by the different rendering engines.
- the rendering engines 306 and 308 can be the Internet Explorer rendering engine by Microsoft and/or the Mozilla rendering engine by
- FIG. 1 illustrates a sample display of a web browser implementing the present invention.
- Web browser 400 contains a multitude of windows including a navigational window 402, a channel window 404, an information window 406 and a main display window 408.
- navigation window 402 will contain information on navigating a web browser such as forward-backward buttons, search buttons, etc., as is commonly well-known in the art.
- Channel window 404 contains a list of sites of interest that are organized via topic.
- Information window 406 can be provided with live, real-time advertisements or banner advertising.
- Display window 408 is used to display the requested web page after processing by a web rendering engine.
- a pull-down menu located on navigation window 402 or elsewhere could include a choice between rendering the HTML formatted hypertext page using a first rendering engine or a second rendering engine, or to use both.
- FIGURE 4b illustrates a web browser in which web display window 408 has been divided into a first window for 408a and a second window for 408b.
- This embodiment is useful in cases where the choice is made to display one HTML formatted text, i.e., a web page, using both of the rendering engines simultaneously. In that case, the output from a first rendering engine would be displayed in a first window 408a and the output from a second rendering engine would be displayed in a first window 408a and the output from a second rendering engine would be displayed in a second window 408b.
- This same concept can be extended to cases where more than two rendering engines.
- FIGURE 5 illustrates a method for displaying markup language formatted documents using one or more rendering engines.
- a parser program is initiated.
- parser program this could be a web browser program operable to receive web pages written in HTML language from a remote computer via a connection such as a phone connection or a direct connection between the computers.
- the parser program can also be a program used to translate HTML documents located locally on a single computer.
- the parser program can also be a development tool used to develop HTML documents. Starting the parser program also initiates the transfer of HTML formatted documents to the parser program.
- an initial rendering engine is selected.
- step 506 a user can choose what rendering engine it wants to use.
- a user can choose to either stay with the rendering engine currently being used, change rendering engines, or use multiple rendering engines. If a user chooses to use the same rendering engine, then, in step 508, the HTML document is displayed using that rendering engine. If the user decides to change rendering engines, then a new rendering engine id is sent by the parser program in step 510, initiating the use of the new rendering engine.
- each unique rendering engine will have a unique engine ID.
- any means of accessing a rendering engine can be accomplished by the present invention.
- the result is displayed.
- all rendering engines ids are sent to initiate the rendering engines in step 513.
- the multiple rendering engine results are displayed. In this manner, comparisons can be made as to what rendering engine most efficiently renders the HTML document.
Abstract
An apparatus for processing HTML text is disclosed. The apparatus includes a computer having a processor and memory that is operable to run a parser program. The parser program includes two or more rendering engines. The parser program is operable to receive HTML formatted text, select a rendering engine; and process the HTML text.
Description
METHOD AND APPARATUS FOR A DUAL RENDERING ENGINE BROWSER
Inventors: James R. FRISKEL and Michael J. NOE
RELATED APPLICATIONS
This application is related to U.S. Utility Application Serial Number 09/548,760, filed April 13, 2000, which is herein incorporated by reference in its entirety.
TECHNICAL FIELD OF THE INVENTION This invention relates to the field of computer programs and more specifically to a method and apparatus for a dual rendering engine browser.
BACKGROUND
The usage of the INTERNET is increasing at a very large rate. Generally, a user accesses content on the Internet by executing a "web browser" or "parser" program locally at a client (such as a home computer) and interconnecting to a server of an Internet Service provider. The interconnection may use any of a variety of communication links such as a dial-up telephone communication link or a dedicated communication link, such as a cable modem. The web browser is a computer program that allows the client to exchange information with the remote server. Any of a variety of web browsers are available, such as NETSCAPE NAVIGATOR, MICROSOFT EXPLORER and others that allow users to conveniently access and navigate the Internet using a graphical user interface. Web browsers receive web pages in a format or language understandable by a web browser, such as Hypertext Markup Language ("HTML"). HTML is a common markup language that describes the structure and behavior of a document. Web browsers, through the use of a rendering engine, interpret the web pages and generate a corresponding display of the web pages using a graphical user interface. One drawback of the present invention is that different rendering engines interpret HTML differently. Therefore, the output of various web browsers may differ. Currently, to view different outputs, one must use different web browsers at separate
times. This is cumbersome to both users of web browsers and developers of web content who need to know what their work will look like using different browsers.
SUMMARY OF THE INVENTION
From the foregoing it may be appreciated that a need has arisen for a method and apparatus for a dual rendering engine browser. In accordance with the present invention, a method and apparatus for a dual rendering engine browser is provided that allows a user to view a document formatted in a markup language with a rendering engine of the user's choice or using more than one rendering engine.
According to an embodiment of the present invention, there is provided an apparatus for processing HTML text. The apparatus includes a computer having a processor and memory that is operable to run a parser program. The parser program includes two or more rendering engines. The parser program is operable to receive HTML formatted text, select a rendering engine; and process the HTML text.
A technical advantage of the present invention includes the ability of a user to choose what rendering engine best fits the particular document to be viewed. Another technical advantage of the present invention includes the ability to use multiple rendering engines simultaneously. Other technical advantages are readily apparent to one skilled in the art from the following figures, description, and claims.
BRIEF DESCRIPTION OF THE DRAWINGS
For a more complete understanding of the present invention and the advantages thereof, reference is now made to the following brief description, taken in connection with the accompanying drawings and detailed description, wherein like reference numerals represent like parts, in which:
FIG. 1 is a diagram illustrating a network interconnection including a client and an Internet server; FIG. 2 is a block diagram illustrating the client and a remote Internet server;
FIG. 3 is a block diagram showing the functional parts of the program of the present invention;
FIG. 4a and FIG. 4b illustrate web browser display in accordance with the teachings of the present invention; and FIG 5 is a flowchart illustrating the operation of an embodiment of the present invention.
DETAILED DESCRIPTION OF THE INVENTION
Turning first to the nomenclature of the specification, the detailed description which follows is represented largely in terms of processes and symbolic representations of operations by conventional computer components, including a central processing unit ("CPU") or processor associated with a general purpose computer system, memory storage devices for the CPU, and connected pixel-oriented display devices. These operations include the manipulation of data bits by the CPU and the maintenance of these bits within data structures resident in one or more of the memory storage devices. Such data structures impose a physical organization upon the collection of data bits stored within computer memory and represent specific electrical or magnetic elements. These symbolic representations are the means used by those skilled in the art of computer programming and computer construction to most effectively convey teachings and discoveries to others skilled in the art.
In addition, it should be understood that the programs, processes, methods, etc. described herein are but an example of one implementation of the present invention and are not related or limited to any particular computer, apparatus or computer language. Rather, various types of general purpose computing machines or devices may be used with programs constructed in accordance with the teachings described herein. Similarly, it may prove advantageous to construct a specialized apparatus to perform the method steps described herein by way of dedicated computer systems with hardwired logic or programs stored in non-volatile memory, such as read only memory. Referring now in more detail to the drawings, FIG. 1 is a diagram illustrating a network interconnection 100 including a client 102 and an Internet server 104. Network
interconnection 100 includes the interface between Internet server 104 and a plurality of clients through a plurality of direct communication lines 108. For example, network interconnection 100 includes an interconnection between client 102 and Internet server 104 through a direct communication line 106. Network interconnection 100 also includes the interface between Internet server 104 and other Internet servers through a plurality of communication lines 110. I-n this manner, Internet server 104 allows the plurality of clients directly interconnected with server 104, such as client 102, to communicate with other Internet users by providing an interconnection to other Internet servers through communication lines 110. Other Internet users are also directly interconnected with a server such that a commumcation path may be established between one client and another client through the various serves of the Internet. Internet server 104 is a computer such as a personal computer, file server, workstation, mimcomputer, mainframe, or any other computer capable of communicating and interconnecting with other computers. Internet server 104 will preferably include a processor, a printer, an input device such as a mouse and/or a keyboard, a monitor, a floppy disk drive, memory, a modem, and a mass storage device such as a hard disk drive. Communication lines 110 and direct communication lines 108 may be any type of communication link capable of supporting data transfer. For example, these communication lines may include any combination of an Integrated Services Digital Network ("ISDN") communication line, a hard wired line, or a telephone link.
Client 102 may be similar to Internet server 104 and may be implemented using virtually any type of computer. Client 12 will preferably be a personal computer having a processor, a printer, an input device such as a mouse and/or a keyboard, a monitor, a floppy disk drive, memory, a modem, and a mass storage device such as a hard disk drive. Client 102 and Internet server 104 will be operating under the control of an operating systems such as MS-DOS, Macintosh OS, WINDOWS NT, WINDOWS 95/98/2000, OS/2, UNLX, LINUX and the like. Client 102 and Internet server 104 may execute any number of available application programs such as a web browser.
In operation, the various clients of network interconnection 100, such as client 102, may communicate through server 104 with any other client connected to the
Internet. For example, client 102, generally using a web browser application program,
may couple to Internet server 104 and provide the address of URL of an Internet web page. The Internet web page will generally be stored on another Internet server located remotely. Internet server 104, through the plurality of communication lines 110, communicates with other Internet servers. Eventually, the receiving Intemet server is found and in response, transmits the HTML formatted Internet web page back to Internet server 104 for viewing by client 102 using a web browser.
Although network interconnection 100 has been illustrated and described in FIG. 1 as being a node or interconnection on the Internet, network interconnection 100 may be any interconnection found on any computer network such as a local area network ("LAN"), a wide area network ("WAN"), an intranet, such as a corporate intranet, or any other communications and data exchange system created by connecting two or more computers. The present invention will be illustrated and described with an implementation using the Internet, however, it should be understood that the present invention is not limited to only implementations using the Internet. It may, for example, be implemented on a single computer operating by itself.
FIG. 2 is a block diagram illustrating client 102 and a remote Internet sever 104. Client 102 includes a processor 208, input/output ("I/O") devices 210, and a client memory 202. Processor 208, under the control of an operating system 204, controls the operation of client 102 and is used to retrieve, process, store, and display data. Operating system 204 and a parser program 206 are stored in client memory 202. Client memory 202 may be a random access memory ("RAM"), Read-only memory ("ROM"), or other types of memory.
Processor 208 is typically implemented as a microprocessor, such as those manufactured by INTEL, MOTOROLA, or ADVANCED MICRO DEVICES. Processor 208 may include an arithmetic logic unit to assist in performing mathematical operations. Processor 208 communicates control, address, and data signals with operating system 204 and with the remaining components of client 102 through a system bus. Processor 208 interprets and executes instructions that have been fetched or retrieved from client memory 202 and may be implemented as a single integrated circuit or as a combination of integrated circuits.
I/O devices 212 may include any peripheral that allows data to be exchanged with client 102 and may include such devices as a keyboard, a monitor, a printer, a modem, a pointing device, such as a mouse, a floppy disk drive, a mass storage device, such as a hard disk drive, and the like. The mass storage device is used to store computer files including application programs and data files. For example, the mass storage device may be used to store parser program 206 and operating system 204.
Operating system 204 includes a set of computer programs that control the internal functions of client 102, thereby allowing client 102 to run application programs. Operating system 204 is typically stored in and provided from a mass storage device, such as a hard disk drive, a floppy disk drive, a CD ROM drive or a ROM chip. During start-up or initialization of client 102, operating system 204 is loaded into client memory 202. Application programs, such as parser program 206, may also be loaded into client memory 202 along with operating system 204.
Parser program 206, in one embodiment, is a graphical web browser that allows a user to view images, fonts, and document layouts provided in a web page by converting large units of data into smaller, more easily interpreted, units of data. Parser program 206 reads the tagged document of a web page or other markup language formatted document, such as those provided in Hypertext Markup Language (HTML) format. HTML uses tags to identify the parts of a web page, such as headings, bulleted lists, body text, on-screen forms, including fill-in text boxes, options buttons, radio buttons, and drop-down list boxes, images to be displayed, hypertext links, colors, font, and various other formatting tags. Parser program 206 formats the various parts of the document for on-screen display as directed by the HTML tags. It accomplishes this by using a rendering engine which interprets the HTML formatted document. In the present invention, a web browser includes multiple rendering engines. Rendering engines are discussed in greater detail in conjunction with FIGURES 3 through 5. While HTML is used as an example markup language, the present invention is not limited to HTML formatted documents but includes other markup languages as well, such as SGML and GML. In the present invention, a user is able to choose a rendering engine to process the markup language formatted documents information from a selection of two or more
rendering engines such as the Internet Explorer rendering engine used in the Internet Explorer web browser or the MOZILLA rendering engine used in the Netscape browser as well as any other rendering engines. Typically, rendering engines for different web browsers can be called by third party software by specifying an application ID and an interface ID. The use of, and accessing of, rendering engines is known to those skilled in the art. Alternatively, a user can view a markup language formatted document processed by different rendering engines simultaneously in different windows of the display.
In another embodiment, parser program 206 can also be used as part of a program or series of programs used to develop markup language formatted documents such as web pages. By including the different rendering engines from different web browsers, a developer using the parser program 206 of the present invention will be able to ensure the markup language formatted document under development will work with different browsers. Further discussions of these embodiments are presented in the following descriptions. Remote Internet server 104 includes a server memory 222, a processor 224, and a mass storage device 226. Remote Internet server 105 also preferably includes various I/O devices 228 such as those mentioned above in the description of I7O devices 212 of client 102.
Operating system 220 and a web server 222 are stored in mass storage device 226 and are shown loaded into server memory 223. Processor 224, in conjunction with operating system 220, controls the operation of remote Internet server 104. Processor 224 fetches and executes various instructions stored in server memory 223. Operating system 220 operates similarly to operating system 204 of client 102 and includes a set of computer programs that control the internal functions of remote Internet server 104. Operating system 220 controls the allocation and usage of hardware resources such as server memory 223, processor 224, mass storage device 226, and optional I O devices 228. Operating system 220 may be any of a variety of available operating systems depending partially on the hardware of server 104. For example, operating system 220 may be implemented as MS-DOS, the Macintosh OS, OS/2, WINDOWS NT, WINDOWS NT/ WINDOWS 95/98/2000, UNIX, LINUX or any of a variety of other operating systems.
Web server program 220 is an application program shown loaded into server memory 223. Web server program 220 is stored in mass storage device 226 and is then loaded into server memory 223 when selected by a user or is initiated on the server side. In response to a client request, markup language formatted documents will be provided to parser program 206.
FIGURE 3 illustrates a block diagram showing the functional parts of the program of the present invention. Illustrated is a parser program 304 having a first rendering engine 306 and a second rendering engine 308 which is coupled to a display system 310. In operation, parser program 304 is operable to receive text files written in a markup language, such as HTML formatted documents. Depending on the uses of parser 304, HTML formatted documents 302 can be loaded via a request from parser 304 to send files from a remote server, or a parser 304 can retrieve HTML formatted documents 302 from a local storage device. After receiving HTML formatted documents 302, a choice is then made as to which rendering engine is to be used. This choice can be made by a user operating the program. For example, a user may choose that a first rendering engine 306 is to be used. In that case, the HTML document 302 received by parser 304 will be processed using first rendering engine 306. Then the rendered text can be displayed by display routine 310 on a monitor or other display device. On the other hand, if the second rendering engine 308 is to be used, then the HTML documents 302 is processed by second rendering engine 308 and then displayed by display routine 310. Of course, there are times when both rendering engines are to be used so as to view the web text side-by-side or rendered by two different rendering engines in order to determine any differences introduced by the different rendering engines.
In one embodiment, the rendering engines 306 and 308 can be the Internet Explorer rendering engine by Microsoft and/or the Mozilla rendering engine by
Netscape. Rendering engines are operable to perform such tasks as format a document for display based on a markup language as well as manage user interactions and host associated elements such as ActiveX controls and JAVA applets. Parser program 304 can be any program operable to receive hypertext files and prepare them for sending on to a rendering engine. Display 310 is a program and/or hardware operable to display the formatted HTML files.
FIGURE 4a illustrates a sample display of a web browser implementing the present invention. Web browser 400 contains a multitude of windows including a navigational window 402, a channel window 404, an information window 406 and a main display window 408. In operation, navigation window 402 will contain information on navigating a web browser such as forward-backward buttons, search buttons, etc., as is commonly well-known in the art. Channel window 404 contains a list of sites of interest that are organized via topic. Information window 406 can be provided with live, real-time advertisements or banner advertising. Display window 408 is used to display the requested web page after processing by a web rendering engine. In this embodiment, a pull-down menu located on navigation window 402 or elsewhere could include a choice between rendering the HTML formatted hypertext page using a first rendering engine or a second rendering engine, or to use both.
FIGURE 4b illustrates a web browser in which web display window 408 has been divided into a first window for 408a and a second window for 408b. This embodiment is useful in cases where the choice is made to display one HTML formatted text, i.e., a web page, using both of the rendering engines simultaneously. In that case, the output from a first rendering engine would be displayed in a first window 408a and the output from a second rendering engine would be displayed in a first window 408a and the output from a second rendering engine would be displayed in a second window 408b. This same concept can be extended to cases where more than two rendering engines.
FIGURE 5 illustrates a method for displaying markup language formatted documents using one or more rendering engines. In step 502, a parser program is initiated. By parser program, this could be a web browser program operable to receive web pages written in HTML language from a remote computer via a connection such as a phone connection or a direct connection between the computers. The parser program can also be a program used to translate HTML documents located locally on a single computer. The parser program can also be a development tool used to develop HTML documents. Starting the parser program also initiates the transfer of HTML formatted documents to the parser program. Next, in step 504, an initial rendering engine is selected. This can be done automatically by the software which could have a default rendering engine or it could be done by a user who initially selects a default initial
rendering engine by setting a preference or in some similar fashion.' Then, in step 506, a user can choose what rendering engine it wants to use. In step 506, a user can choose to either stay with the rendering engine currently being used, change rendering engines, or use multiple rendering engines. If a user chooses to use the same rendering engine, then, in step 508, the HTML document is displayed using that rendering engine. If the user decides to change rendering engines, then a new rendering engine id is sent by the parser program in step 510, initiating the use of the new rendering engine. Typically, each unique rendering engine will have a unique engine ID. Of course, in the present invention any means of accessing a rendering engine, either one publicly available or a proprietary engine, can be accomplished by the present invention. In step 512, the result is displayed. Finally, if a user chooses to use multiple rendering engines, then all rendering engines ids are sent to initiate the rendering engines in step 513. In step 514, the multiple rendering engine results are displayed. In this manner, comparisons can be made as to what rendering engine most efficiently renders the HTML document. Thus, it is apparent that there has been provided, in accordance with the present invention, a method and apparatus for interpreting HTML formatted documents using multiple rendering engines that satisfies the advantages as set forth above. Although, the preferred embodiment has been described in detail, it should be understood that various changes, substitutions, and alterations can be made herein. For example, the present invention may be implemented on any computer, computer network, or interconnection of computers, as well as any standalone computer. Although the present invention has been described and shown as an element using the Internet, the scope of the present invention is not limited to the Internet. Other examples of changes, substitutions and alterations are readily assertable by one skilled in the art and could be made without departing from the scope and spirit of the present invention.
Claims
1. A method for processing markup language formatted documents comprising: receiving the document; providing two or more rendering engines; selecting a rendering engine; and processing document with the selected rendering engine.
2. The method of Claim 1, wherein the step of selecting further comprises: selecting two or more rendering engines, and processing the document with the rendering engines.
3. The method of Claim 1 , further comprising the step of displaying the processed document.
4. The method of Claim 2, further comprising the step of displaying the processed document in multiple windows.
5. An apparatus for processing markup language formatted documents comprising: a computer having a processor and memory, the computer operable to run a parser program, the parser program comprising two or more rendering engines, the parser program operable to: receive documents; select a rendering engine; and process the documents.
6. The apparatus of Claim 5, wherein the parser program is operable to display the documents.
7. The apparatus of Claim 5, wherein the parser program is further operable to allow a user to select two or more rendering engines.
8. The apparatus of Claim 5, wherien the parser program is operable to display a first window containing a document processed by a first rendering engine and to display a second window containing a document rendered by a second rendering engine.
9. The apparatus of Claim 1, wherein the markup language formatted documents are received from a remote server.
10. The apparatus of Claim 5, wherein the parser program is a web browser.
11. The apparatus of Claim 5, wherein the parser program is a web page development program.
12. A computer-readable medium containing instructions for markup language formatted documents, by: reading in the documents; processing the documents by selecting one or more rendering engines from a plurality of > rendering engines.
13. The medium of Claim 12, wherein the instructions further comprises allowing a user to select two or more rendering engines.
14. The medium of Claim 12, wherein he instructions further comprise displaying the documents.
15. The medium of Claim 13 , wherein the instructions further comprise displaying a first window containing a document processed by a first rendering engine and displaying a second window containing a document rendered by a second rendering engine.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
AU2001259070A AU2001259070A1 (en) | 2000-04-13 | 2001-04-13 | Method and apparatus for a dual rendering engine browser |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US54876000A | 2000-04-13 | 2000-04-13 | |
US09/548,760 | 2000-04-13 |
Publications (2)
Publication Number | Publication Date |
---|---|
WO2001080086A2 true WO2001080086A2 (en) | 2001-10-25 |
WO2001080086A3 WO2001080086A3 (en) | 2004-02-26 |
Family
ID=24190293
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US2001/012146 WO2001080086A2 (en) | 2000-04-13 | 2001-04-13 | Method and apparatus for a dual rendering engine browser |
Country Status (2)
Country | Link |
---|---|
AU (1) | AU2001259070A1 (en) |
WO (1) | WO2001080086A2 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7356569B1 (en) | 1999-04-26 | 2008-04-08 | Mainstream Scientific, Llc | Apparatus and method for tracing the distribution of diversely sourced internet content |
CN110895481A (en) * | 2018-09-13 | 2020-03-20 | 阿里巴巴集团控股有限公司 | Rendering method, device and system of desktop application |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5835092A (en) * | 1996-04-09 | 1998-11-10 | Silicon Graphics, Inc. | Mechanism for non-linear browsing of diverse information sources |
US5933142A (en) * | 1996-05-28 | 1999-08-03 | Sun Microsystems, Inc. | User-controllable persistent browser display pages |
WO1999052032A1 (en) * | 1998-04-08 | 1999-10-14 | Geoworks Corporation | Wireless communication device with markup language based man-machine interface |
-
2001
- 2001-04-13 WO PCT/US2001/012146 patent/WO2001080086A2/en active Application Filing
- 2001-04-13 AU AU2001259070A patent/AU2001259070A1/en not_active Abandoned
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5835092A (en) * | 1996-04-09 | 1998-11-10 | Silicon Graphics, Inc. | Mechanism for non-linear browsing of diverse information sources |
US5933142A (en) * | 1996-05-28 | 1999-08-03 | Sun Microsystems, Inc. | User-controllable persistent browser display pages |
WO1999052032A1 (en) * | 1998-04-08 | 1999-10-14 | Geoworks Corporation | Wireless communication device with markup language based man-machine interface |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7356569B1 (en) | 1999-04-26 | 2008-04-08 | Mainstream Scientific, Llc | Apparatus and method for tracing the distribution of diversely sourced internet content |
US7660868B1 (en) * | 1999-04-26 | 2010-02-09 | John Albert Kembel | Apparatus and method for interacting with internet content via one or more applications that do not include native web browsing navigation control features |
US7756967B1 (en) | 1999-04-26 | 2010-07-13 | Mainstream Scientific, Llc | Apparatus and method of hosting internet content |
US7792947B1 (en) | 1999-04-26 | 2010-09-07 | Mainstream Scientific, Llc | Apparatus and method for dynamically coordinating the delivery of computer readable media |
US8020083B1 (en) | 1999-04-26 | 2011-09-13 | Mainstream Scientific, Llc | System and methods for creating and authoring internet content using application media packages |
US8346887B1 (en) | 1999-04-26 | 2013-01-01 | Mainstream Scientific, Llc | Tracking and tracing user activity with application media packages |
US8510406B2 (en) | 1999-04-26 | 2013-08-13 | Mainstream Scientific, Llc | Component for accessing and displaying internet content |
US8510407B1 (en) | 1999-04-26 | 2013-08-13 | Mainstream Scientific, Llc | Displaying time-varying internet based data using application media packages |
US8521833B1 (en) | 1999-04-26 | 2013-08-27 | Mainstream Scientific, Llc | System and method for accessing and displaying internet content via an integrated application media package |
US8621034B1 (en) | 1999-04-26 | 2013-12-31 | John Albert Kembel | Indexing, sorting, and categorizing application media packages |
US9124665B2 (en) | 1999-04-26 | 2015-09-01 | Mainstream Scientific, Llc | Server including components for accessing and displaying internet content and for providing same to a client |
US9369545B2 (en) | 1999-04-26 | 2016-06-14 | Mainstream Scientific, Llc | Accessing and displaying network content |
US9426255B2 (en) | 1999-04-26 | 2016-08-23 | John Albert Kembel | Apparatus and method for dynamically coordinating the delivery of computer readable media |
US9438467B1 (en) | 1999-04-26 | 2016-09-06 | John Albert Kembel | Methods of obtaining application media packages |
US9723108B2 (en) | 1999-04-26 | 2017-08-01 | John Albert Kembel | System and methods for creating and authorizing internet content using application media packages |
CN110895481A (en) * | 2018-09-13 | 2020-03-20 | 阿里巴巴集团控股有限公司 | Rendering method, device and system of desktop application |
Also Published As
Publication number | Publication date |
---|---|
WO2001080086A3 (en) | 2004-02-26 |
AU2001259070A1 (en) | 2001-10-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6810410B1 (en) | Customizing a client application using an options page stored on a server computer | |
US6310630B1 (en) | Data processing system and method for internet browser history generation | |
KR100317401B1 (en) | Apparatus and method for printing related web pages | |
KR100265548B1 (en) | Automatic translating method and machine | |
US8793341B2 (en) | Web page content translator | |
US8826121B2 (en) | Magnifying the text of a link while still retaining browser function in the magnified display | |
US7023572B2 (en) | Portable high speed internet access device | |
US7496831B2 (en) | Method to reformat regions with cluttered hyperlinks | |
JP3924102B2 (en) | Method for customizing file and information processing system | |
JP4659725B2 (en) | Information access support method, system, and recording medium therefor | |
US7240294B2 (en) | Method of constructing a composite image | |
US20020062396A1 (en) | Server devices for displaying web pages | |
US6633913B1 (en) | Scan system and method for scanning images to an online web page | |
JPH10116220A (en) | System and method for easily displaying parameter on local display device | |
US7228495B2 (en) | Method and system for providing an index to linked sites on a web page for individuals with visual disabilities | |
EP1038243A2 (en) | System for processing and storing internet bookmark address links | |
JP2001043244A (en) | Method and device for executing retrieval seledction tool on browser | |
JPH11237968A (en) | Method and system for enabling printing processing | |
US6182140B1 (en) | Hot objects with multiple links in web browsers | |
US20050198568A1 (en) | Table display switching method, text data conversion program, and tag program | |
US20020010720A1 (en) | Hyper-text document formatting collating and printing | |
WO2001080086A2 (en) | Method and apparatus for a dual rendering engine browser | |
JPH10289206A (en) | Homepage communication system | |
EP0953921A2 (en) | Device and method for information processing and storage medium containing a control program for information processing | |
JPH1115787A (en) | Browser for internet, display method of browser for internet and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A2 Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CR CU CZ DE DK DM DZ 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 MZ 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: A2 Designated state(s): GH GM KE LS MW MZ 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 TR 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 | ||
DFPE | Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101) | ||
122 | Ep: pct application non-entry in european phase | ||
NENP | Non-entry into the national phase in: |
Ref country code: JP |