IP Library Granted Patent US 8,001,478
Granted Patent B2
US 8,001,478 · App. 11/313,552 · Granted Aug 16, 2011

Systems and methods for context personalized web browsing based on a browser companion agent and associated services

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,001,478
App. No.
11/313,552
Granted
Aug 16, 2011
Kind
B2
Abstract

Computer software, systems and methods for providing context personalized browsing over computer networks. In the foregoing, an intelligent agent referred to as a “browser companion agent” includes a service component for holding one or more service modules that may assist a user by providing services that are contextually relevant to content on a browser on the user's computer system. The agent also includes a data component for holding data objects related to and sharable by one or more service modules. The agent further includes a tracking component for tracking the pages on a browser and for communicating browser page data to a remote computer system that may respond to the agent with data or code for use by service modules. Contemplated service modules include a comparison shopping service, a transaction tracking service, and automated form filling service.

Claims (46)

1. 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.

2. The medium of claim 1 wherein the services are invoked in a predetermined order based on assigned priorities.

3. The medium of claim 2 wherein the priority is assignable by the remote computer system.

4. The medium of claim 2 wherein the priority is set by one of the service modules.

5. The medium of claim 1 wherein predetermined types of data for each domain tracked by the browser companion agent in connection with a service are cached in the data object component, and the data are accessible by a plurality of service modules.

6. The medium of claim 5 wherein the data may be called by a service module if a user returns to a previously visited domain in the same session.

7. The medium of claim 5 wherein the agent includes code for determining when to cease persisting cached data in memory.

8. The medium of claim 1 wherein the two or more services include common interfaces for sharing data or code in a data or code component.

9. The medium of claim 8 wherein two or more services share common data in a data component.

10. The medium of claim 1 wherein a proxy object is provided to facilitate communication between the browser companion agent and a main browser.

11. The medium of claim 10 wherein the proxy object also facilitates communication between the browser companion agent and a remote computer system.

12. The medium of claim 1 wherein the user interface further includes a user input area for accepting input from a user for transmission to a remote computer system.

13. The medium of claim 1 wherein the code component includes one or more of a form-filling service module, a purchase transaction storage module and a comparison shopping module.

14. The medium of claim 1 wherein the code component includes at least two of a form-filling service module, a purchase transaction storage module, and a comparison shopping module.

15. The medium of claim 1 wherein the browser companion agent comprises a browser helper object.

16. The medium of claim 1 wherein a service module comprises a COM object.

17. The medium of claim 1 wherein the data and code components are stored at a higher level accessible by two or more service modules in a global manner.

18. The medium of claim 1 wherein the browser companion agent only runs services that are authenticated by a security code.

19. The medium of claim 1 wherein a proxy object is provided to facilitate communication between the browser companion agent and a remote computer system.

20. The medium of claim 1 wherein the browser companion agent provides a storing mechanism for receiving and storing client-side scripting variables as name and value pairs so that as a user navigates content on a browser, the state of the variables is not lost.

21. A non-transitory computer readable medium which includes computer executable instructions for a browser companion agent couplable to a browser, comprising:

a service component for holding one or more service modules that assist a user by providing services that are contextually relevant to content on a user's browser on the user's computer system;

a data component for holding data on the user's computer system related to one or more service modules, 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 location identifier of a page comprising content presented on a browser, the page being retrieved from a content server, the location identifier comprising at least a domain for a content server, and for communicating page data to a remote computer system other than the content server, upon a change in the content 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 data or executable instructions from a remote computer system other than the content server, in response to page data received from the tracking component, the remote computer system returning data or instructions that are contextually responsive to the content and which are implemented in a service module that determines information to display to a user.

22. The medium of claim 21 wherein the service component includes one or more of a form filling service; a purchase transaction storage service; and a comparison shopping service.

23. The medium of claim 21 wherein the service component includes code for two or more of a form filling service; a purchase transaction storage service; and a comparison shopping service.

24. The medium of claim 21 where a code for a proxy object is included on the medium, the proxy object being adapted to facilitate communication between the browser companion agent and a browser associated with a computer system on which the service modules are executed.

25. The medium of claim 21 , wherein the data component further comprises a collection of site data configured to contain one or more site data objects.

26. A non-transitory computer readable medium which includes executable instructions for a browser companion agent couplable to a browser with instructions for performing a set of steps comprising:

providing one or more service modules that assist a user of a computer system by providing services that may be contextually relevant to a content page presented on a browser on the computer system, the content page comprising a location identifier and content elements the content page being retrievable from a content server;

parsing content elements of the content page presented on the browser on the computer system into page data;

extracting the parsed data and sending it to a remote computer system for matching with elements in a database, wherein the database 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;

determining that one or more service modules are contextually relevant to the content page presented on the browser based on one or more matching elements determined by the remote computer system;

generating instructions for the one or more services being contextually relevant to the content page presented on the browser based on the one or more matching elements; and

executing the instructions on the computer system, wherein the instructions include generating a user interface that displays contextually relevant information that is determined by a service module and not the content server.

27. The medium of claim 26 wherein there are two or more service modules selected from the group consisting of a form filling service, a purchase transaction storage service, and a comparison shopping service.

28. The medium of claim 26 wherein one or more of the service modules contextually relevant is a comparison shopping service.

29. The medium of claim 26 wherein one or more of the service modules contextually relevant is a purchase transaction storage service.

Assignments (20)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (057570/0268) Recorded Mar 31, 2025
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: TABOOLA.COM LTD; PERFECT MARKET, INC.; CONNEXITY, INC.
Reel/Frame 070690/0269 →
CORRECTIVE ASSIGNMENT TO CORRECT THE CONVEYING PARTY BY ADDING THE THIRD ASSIGNOR PREVIOUSLY RECORDED AT REEL: 70553 FRAME: 219. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT. Recorded Mar 28, 2025
From: CONNEXITY, INC.; TABOOLA.COM LTD.; TABOOLA, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 070671/0358 →
SECURITY AGREEMENT Recorded Mar 19, 2025
From: TABOOLA.COM LTD.; TABOOLA, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 070553/0219 →
PATENT SECURITY AGREEMENT Recorded Sep 22, 2021
From: TABOOLA.COM LTD.; PERFECT MARKET, INC.; CONNEXITY, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 057570/0268 →
TERMINATION AND RELEASE OF TRADEMARK SECURITY AGREEMENT Recorded Sep 3, 2021
From: BANK OF AMERICA, N.A.
To: CONNEXITY, INC.; BECOME, INC.
Reel/Frame 057406/0330 →
ENTITY CONVERSION Recorded Jun 15, 2020
From: CONNEXITY, INC.
To: CONNEXITY, LLC
Reel/Frame 052945/0581 →
ENTITY CONVERSION Recorded Jun 15, 2020
From: CONNEXITY, LLC
To: CONNEXITY, INC.
Reel/Frame 052945/0590 →
RELEASE OF SECURITY INTEREST Recorded Oct 4, 2016
From: LBC CREDIT PARTNERS III, L.P.
To: CONNEXITY, INC.; BECOME, INC.
Reel/Frame 039934/0886 →
RELEASE OF SECURITY INTEREST Recorded Oct 4, 2016
From: LBC CREDIT PARTNERS III, L.P.
To: CONNEXITY, INC.; BECOME, INC.
Reel/Frame 039935/0233 →
CHANGE OF NAME Recorded Apr 10, 2015
From: SHOPZILLA, INC.
To: CONNEXITY, INC.
Reel/Frame 035414/0849 →
SECURITY INTEREST Recorded Feb 27, 2015
From: CONNEXITY, INC.; BECOME, INC.
To: BANK OF AMERICA, N.A.
Reel/Frame 035047/0271 →
CHANGE OF NAME Recorded Feb 27, 2015
From: SHOPZILLA, INC.
To: CONNEXITY, INC.
Reel/Frame 035112/0599 →
MERGER Recorded Feb 27, 2015
From: SHOPZILLA, INC.; CONNEXITY, INC.
To: SHOPZILLA, INC.
Reel/Frame 035047/0109 →
RELEASE OF SECURITY INTEREST Recorded Feb 17, 2015
From: OBSIDIAN AGENCY SERVICES, INC., AS COLLATERAL AGENT
To: SHOP HOLDING CORPORATION; CONNEXITY, INC., F/K/A SHOPZILLA, INC.; ZAPPLI, INC.; CONNEXITY, INC.
Reel/Frame 034973/0361 →
RELEASE OF SECURITY INTEREST Recorded Feb 16, 2015
From: WELLS FARGO CAPITAL FINANCE, LLC, AS AGENT
To: SHOP HOLDING CORPORATION; CONNEXITY, INC., F/K/A SHOPZILLA, INC.; ZAPPLI, INC.; CONNEXITY, INC.
Reel/Frame 034967/0454 →
SECURITY INTEREST Recorded Feb 13, 2015
From: CONNEXITY, INC.; BECOME, INC.
To: LBC CREDIT PARTNERS III, L.P., AS AGENT
Reel/Frame 034958/0942 →
PATENT SECURITY AGREEMENT Recorded Jun 2, 2011
From: SHOP HOLDING CORPORATION; SHOPZILLA, INC.
To: WELLS FARGO CAPITAL FINANCE, LLC, AS AGENT
Reel/Frame 026376/0981 →
PATENT SECURITY AGREEMENT Recorded Jun 2, 2011
From: SHOPZILLA, INC.; SHOP HOLDING CORPORATION
To: OBSIDIAN AGENCY SERVICES, INC., AS COLLATERAL AGENT
Reel/Frame 026377/0180 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 20, 2011
From: BHATIA, RAJESH; GANJU, NICK; KAMATH, ANIL; KULKARNI, PRASHANT; TAN, PHOUMRIN
To: BIZRATE.COM
Reel/Frame 026158/0257 →
CHANGE OF NAME Recorded Jan 12, 2009
From: BIZRATE.COM
To: SHOPZILLA, INC.
Reel/Frame 022092/0125 →