Electrical computers and digital processing systems: multicomput – Miscellaneous
Reexamination Certificate
1998-11-30
2001-10-23
An, Meng-Al T. (Department: 2154)
Electrical computers and digital processing systems: multicomput
Miscellaneous
C703S007000, C703S007000, C707S793000, C707S793000, C707S793000
Reexamination Certificate
active
06308198
ABSTRACT:
FIELD OF THE INVENTION
The present invention relates to data processing in computer systems, and in particular, dynamically adding functionality to a Web browser from a Web document.
BACKGROUND OF THE INVENTION
Networking technology has developed a large network of networks, referred to as the Internet, which interconnects millions of computers around the world. The Internet allows the transfer of data between any number of computer systems connected to the Internet using the Transmission Control Protocol/Internet Protocol (TCP/IP). Computers responding to service requests from other computers, via the Internet, are commonly referred to as servers, and computers that initiate requests for service from a server are referred to as clients.
The Internet has become very popular in part due to the World Wide Web (WWW), which is a network of links to hypertext documents operating within the Internet. These hypertext documents are referred to as either Web documents, Web pages, or hypertext documents. Web documents are embedded with directly accessible connections or links to other documents which create a non-linear way of reading the document. The links are embedded in Web documents as a phrase of text or an image which can be selected and activated by a computer user. Information about the Web documents are controlled and provided by Web servers. At the user's end, a Web client takes the user's requests and passes them on to the Web server.
The Web documents are written with a high level programming language referred to as the Hypertext Markup Language (HTML). Commands of the HTML, hereinafter referred to as tags, provide a variety of functions including, but not limited to, defining special format and layout information in a Web document, embedding images and sound in a Web document, and embedding links to other Web documents.
In order to access, process, and display a Web document, a client uses a first set of instructions, referred to as a browser. The browser typically includes a set of browser commands corresponding to the tags available in the HTML. Each browser command in turn points to a procedure of one or more instructions defining the command which, when executed, provide a functionality of the respective command. If the client requires service from the Web server, the browser uses the Hypertext Transfer Protocol (HTTP) to communicate with the server.
The browser compares each tag found embedded in a Web document with the set of browser commands. Once a match is found, the browser executes the procedure corresponding to the matched browser command in order to provide the functionality of the respective command.
The instructions of the browsers are typically written with a programming language different from the HTML, which includes a library of several routines. The library of routines can in turn be used to develop and add new browser commands, or modify existing browser commands, which can be embedded in a Web document as new or modified tags to provide new functionality when displaying the Web document.
The need for new browser commands, or to modify an existing browser command, is typically recognized (at the site of the server) when writing a Web document. For example, a programmer writing a Web document may want to use a new tag to display selected text on a Web document in color. However, before the new command can be embedded in a Web document as a new tag and properly executed, a browser command corresponding to the new tag must first be defined and implemented on the client's browser which is going to access and display the Web document.
Conventionally, instructions defining new browser commands, or modifying existing browser commands, are manually added to the browser by the client when the browser is not in use (i.e., offline). However, this procedure is inefficient because the client must take the time to manually add the new instructions every time a new command, or modified existing command, is to be added to the browser, regardless of whether the new or modified command will be used in other Web documents. Moreover, the procedure is impractical because the client may not have access to the instructions defining the new or modified command, and usually doesn't know when it is necessary to add instructions to define new or modify existing commands.
It is also impractical for a server to add the instructions to a client's browser because servers are generally unaware of which potential clients are going to access their Web documents. Moreover, a server rarely has access privileges to enter a client's browser and add additional instructions.
SUMMARY OF THE INVENTION
One embodiment of the invention provides a method for dynamically adding new functionality to a first set of instructions that processes Web documents. The invention includes the first step of the first set of instructions decoding a first statement of the Web document. The first statement includes a first command and at least one instruction provided as an argument to the first command. In response to executing the first command, the first set of instructions decodes the instruction provided as the argument to the first command and issues the instruction to be executed. Executing the instruction provided as an argument to the first command, results in new Web document processing functionality being added to the first set of instructions.
REFERENCES:
patent: 5530852 (1996-06-01), Meske, Jr. et al.
patent: 5572643 (1996-11-01), Judson
patent: 5745909 (1998-04-01), Perlman et al.
patent: 5764916 (1998-06-01), Busey et al.
patent: 5845075 (1998-12-01), Uhler et al.
patent: 5956484 (1999-09-01), Rosenberg et al.
patent: 5963947 (1999-10-01), Ford et al.
patent: 6085233 (2000-07-01), Jeffrey et al.
Kenneth A. Pier, A Retrospective on the Dorado, A High-Performance Personal Computer, A Xerox Corporation document, pp. 252-269. No Date.
Kin-Man Chung and Herbert Yuen, “A Tiny Pascal Compilier: Part 1: the P-Code Interpreter,” BYTE Publications, Inc., Sep. 1978, pp. 59-65 and 148-155.
Kin-Man Chung and Herbert Yuen, “A Tiny Pascal Compilier: Part 2: the P-Compilier,” BYTE Publications, Inc., Oct. 1978, pp. 34-52 (even pages only).
Ken Thompson, “Regular Expression Search Algorithm,” Communication of the ACM, vol. 11, No. 6, Jun. 1968 at 419 et seq., pp. 419-422.
James G. Mitchell, William Maybury and Richard Sweet, Mesa Language Manual, A Xerox Corporation Document. No Date.
Gene McDaniel, An Analysis of a Mesa Instruction Set, A Xerox Corporation Document. No Date.
R.L. Johnston, Assocation for Computing Machinery, The Incremental Compilier of APL/3000, May-Jun. 1979, pp. 83-87.
Fifth Avenue ACM Symposium, Principles of Programming Languages, Jan. 1978, pp. iii, 3-6.
Krasner, Glenn, The Smalltalk-80 Virtual Machine, Byte Publications Inc., Aug. 1991, pp. 300-320.
Uhler Steve
Welch Brent B.
An Meng-Al T.
Blakely & Sokoloff, Taylor & Zafman
Sun Microsystems Inc.
LandOfFree
Method and apparatus for dynamically adding functionality to... does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Method and apparatus for dynamically adding functionality to..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method and apparatus for dynamically adding functionality to... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-2599559