Patent ID: 8001478

Claim:
A non-transitory computer-readable medium comprising executable code for a browser companion agent, the agent being couplable to a browser on a user's computer system and a remote computer system, the computer executable code comprising: executable code for generating a user interface including means for display of information determined by one or more associated service modules that assist a user by providing services that are contextually relevant to content on a browser on the user's computer system; a code component for downloading executable code related to a service module, the code being receivable from a remote computer system other than a content server providing the content to the user's browser; a data component for holding data received from a remote computer system other than a content server providing the content to the user's browser, the data being used by a service module to present information to the user interface for display to a user, wherein the data component comprises one or more of (i) a form data object configured to contain one or more value pairs, (ii) a frame data object configured to contain one or more form data objects, (iii) a page data object configured to contain one or more frame data objects, (iv) a collection of page data configured to contain one or more page data objects, and (v) a site data object configured to contain one or more page data object and one or more value pairs; a tracking component for tracking the domain of a page comprising content presented on the browser and communicating information about the domain or content on the page to a remote computer system other than the content server, upon a change in the page of the browser, a parsing and data extraction component for parsing the content and extracting page data from the content to send to the remote computer system; and a receiving component for receiving executable code back from the remote computer system that is responsive to the information the remote computer system received from the tracking component and which is used to implement a service module that determines contextually relevant information to render to a user.