1. A computer system for optimizing processing of an annotation request related to a web page to be annotated and displayed in a browser running on a remote computer, the computer system comprising: a request processor for receiving from said remote computer said annotation request related to the web page to be annotated, said annotation request including at least a Uniform Resource Locator referencing the web page to be annotated; a task queue for storing a plurality of constituent tasks that need to be performed for said annotation request; a thread controller for maintaining a plurality of threads and assigning said plurality of threads to said plurality of constituent tasks in said task queue, wherein said plurality of constituent tasks includes at least (1) retrieving the web page to be annotated, (2) analyzing the web page to be annotated to determine additional hyperlinks to be added to the web page to be displayed in the browser, and (3) sending the additional hyperlinks to the remote computer; and an I/O queue for storing a plurality of I/O tasks identified from said plurality of constituent tasks, wherein said plurality of I/O tasks only perform input and/or output functions, wherein said task queue is notified upon completion of each of said plurality of I/O tasks and wherein upon said notification one or more of said plurality of constituent tasks which require results from the executed I/O tasks are rendered ready for execution.